草庐IT

Java 文本文件编码

我有一个文本文件,它可以是ANSI(带有ISO-8859-2字符集)、UTF-8、UCS-2Big或LittleEndian。有什么方法可以检测文件的编码以正确读取它?或者是否可以在不给出编码的情况下读取文件?(并按原样读取文件)(有几个程序可以检测和转换文本文件的编码/格式。) 最佳答案 是的,有很多方法可以进行字符编码检测,特别是在Java中。看看jchardet它基于Mozilla算法。还有cpdetector和IBM的一个名为ICU4j的项目.我会看一下后者,因为它似乎比其他两个更可靠。它们基于二进制文件的统计分析工作,IC

java - 将文本文件内容逐行存储到数组中

所有,我现在面临着不知道将文本文件中的内容存储到数组中的问题。情况就像,文本文件内容:abc1xyz2rxy3我想把它们逐行存储到数组中,可以吗?我期望的是这样的:arr[0]=abc1arr[1]=xyz2arr[2]=rxy3我试过类似的方法,但似乎对我不起作用。如果有人能帮助我,真的非常感谢。代码是:BufferedReaderin=newBufferedReader(newFileReader("path/of/text"));Stringstr;while((str=in.readLine())!=null){String[]arr=str.split("");for(int

java - 如何使用可执行 Jar 包含文本文件

我有一个Java项目,我想在可执行jar中包含一个文本文件。现在文本文件在默认包中。InputFlatFilecurrentFile=newInputFlatFile("src/theFile.txt");我使用该行抓取文件,如您使用src所见。但是,这不适用于可执行jar。如何将此文件与可执行jar一起保存,以便使用该程序的人只需单击一个图标即可运行该程序? 最佳答案 你想要它在可执行jar中吗?然后读取你应该使用的文件getClass().getResourceAsStream()读取文件。将文本文件保存在您要从中访问它的包中。

java - 缓冲读取器和文件读取器以及扫描器类之间的区别

这个问题在这里已经有了答案:Scannervs.BufferedReader(12个答案)关闭8年前。谁能给我解释一下BufferedReader、FileReader和Scanner之间的区别?以及当我想读取文本文件时使用哪个?

java - 在 Java 中创建文件时如何在 Mac OS X 中提供文件路径?

Filef=newFile("C:\\Temp\\Example.txt");f.createNewFile();执行时,将在Temp文件夹中创建一个名为“Example.txt”的新文件。如何在MacOSX中提供文件路径?我尝试提供:Filef=newFile("\\Users\\pavankumar\\Desktop\\Testing\\Java.txt");f.createNewFile();但它对我不起作用。 最佳答案 此处必须使用正斜杠“/”来获取文件路径。使用:Filef=newFile("/Users/pavankum

java - 从Java中的文本文件中读取特定行

从文本文件中提取特定行号数据的最有效方法是什么?例如,如果我使用Scanner解析文件,我是否首先必须创建一个长度与文本文件中的总行数匹配的数组?如果一个文本文件有30行,而我只想处理第3、8和12行,有没有办法专门只读取这些行? 最佳答案 这是你如何做的:importjava.io.*;publicclassTest{publicstaticvoidmain(String[]args){//Thenameofthefiletoopen.StringfileName="temp.txt";intcounter=0;//Thiswil

从文件内容中查找 MIME 类型的 Java 库

这个问题在这里已经有了答案:Howtogetafile'sMediaType(MIMEtype)?(27个答案)关闭9年前。我正在寻找一个java库,它通过查看文件内容(字节数组)告诉您mime类型。我发现这个项目使用jmimemagic,它不再支持较新的文件类型(例如MSworddocx格式),因为它现在处于非Activity状态(从2006年开始)。

java - 使用 lambda 将文本文件转换为 Map<String, List<String>>

我正在尝试转换以下文本输入文件:A=groupA1A=groupA2A=groupA3B=groupB1B=groupB2进入Map>通过在"="上拆分每一行到目前为止,我设法获得了这种输出:KEY:AVALUE:A=groupA1VALUE:A=groupA2VALUE:A=groupA3KEY:BVALUE:B=groupB1VALUE:B=groupB2使用这样的代码:FilereqFile=newFile("test.config");try(Streamstream=Files.lines(reqFile.toPath())){Map>conf=stream.collect(

java - 使用斯坦福类型的解析器从文本文件中提取名词短语

我有一段文本,我想从中提取名词短语。我可以很容易地获得我所拥有的文本的类型化解析器,但想知道如何提取文本中的名词短语? 最佳答案 您可以使用以下代码从Tree中提取名词短语。它假定您已经解析了存储在parse中的句子(即parse是LexicalizedParser类应用方法的输出)publicstaticListGetNounPhrases(){ListphraseList=newArrayList();for(Treesubtree:parse){if(subtree.label().value().equals("NP")){

java - Groovy:从文件中读取一系列行

我有一个文本文件,其中包含大约2,000,000行的大量数据。使用以下代码片段浏览文件很容易,但这不是我需要的;-)deff=newFile("input.txt")f.eachLine(){//Somecodehere}我只需要从文件中读取特定范围的行。有没有办法像这样指定开始和结束行(伪代码)?我想避免在选择范围之前使用readLines()将所有行加载到内存中。//Readalllinesfrom4to48deff=newFile("input.txt")defstart=4defend=48f.eachLine(start,end){//Somecodehere}如果Groov