jjzjj

BufferedReader

全部标签

java - Java读取大文件——Java堆空间

我正在读取一个大的tsv文件(~40G)并尝试通过逐行读取来修剪它并仅将某些行打印到新文件中。但是,我不断收到以下异常:java.lang.OutOfMemoryError:Javaheapspaceatjava.util.Arrays.copyOf(Arrays.java:2894)atjava.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:117)atjava.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:532)a

java - BufferedReader直接转byte[]

我下面的BufferedReader是否有可能将输入直接放入byte[]?publicstaticRunnablereader()throwsIOException{Log.e("Communication","reader");din=newDataInputStream(sock.getInputStream());brdr=newBufferedReader(newInputStreamReader(din),300);booleandone=false;while(!done){try{char[]buffer=newchar[200];intlength=brdr.read(

java - 在 java 中捕获 IOException 后如何关闭文件?

全部,我试图确保在捕捉到IOException时关闭我使用BufferedReader打开的文件,但看起来好像我的BufferedReader对象超出了catchblock的范围。publicstaticArrayListreadFiletoArrayList(StringfileName,ArrayListfileArrayList){fileArrayList.removeAll(fileArrayList);try{//openthefileforreadingBufferedReaderfileIn=newBufferedReader(newFileReader(fileNam

java - BufferedReader 返回 ISO-8859-15 字符串 - 如何转换为 UTF16 字符串?

我有一个FTP客户端类,它返回指向文件的InputStream。我想用BufferedReader逐行读取文件。问题是,客户端以二进制模式返回文件,并且文件具有ISO-8859-15编码。 最佳答案 如果文件/流/任何真正包含ISO-8859-15编码的文本,您只需要在创建InputStreamReader时指定:BufferedReaderbr=newBufferedReader(newInputStreamReader(ftp.getInputStream(),"ISO-8859-15"));然后readLine()将以Java

java - 关闭 Stream 是否会关闭 BufferedReader 源?

来自thedocs:StreamshaveaBaseStream.close()methodandimplementAutoCloseable,butnearlyallstreaminstancesdonotactuallyneedtobeclosedafteruse.Generally,onlystreamswhosesourceisanIOchannel(suchasthosereturnedbyFiles.lines(Path,Charset))willrequireclosing.Moststreamsarebackedbycollections,arrays,orgenera

java - 在 callable.call 中没有关闭的 BufferedReader 会发生什么?

我有三个问题。解释一下,我正在审查某人的代码,并注意到BufferedReader有时没有被关闭。通常,Eclipse会发出警告,指出这是潜在的内存泄漏(我会修复它)。但是,在Callable内部类中,没有警告。classouterClass{...publicvoidsomeMethod(){Futurefuture=outputThreadPool.submit(newinnerClass(this.myProcess.getInputStream(),threadName));...}classinnerClassimplementsCallable{privatefinalIn

java - 在JAVA中捕获外部程序的输出

我正在尝试使用java捕获外部程序的输出,但我做不到。我有显示它的代码,但没有将它放入变量中。例如,我将使用sqlplus来执行我的oracle代码“intoexec.sql”system/orcl@orcl:用户名/密码/数据库名publicstaticStringtest_script(){StringRESULT="";StringfileName="@src\\exec.sql";StringsqlPath=".";Stringarg1="system/orcl@orcl";StringsqlCmd="sqlplus";Stringarg2=fileName;try{Strin

java - BufferedReader 在应该的时候没有说明 'ready'

我正在尝试通过URL上的InputStreamReader使用BufferedReader从网络文档中读取文本(到某些Apache服务器上的文件)。Stringresult="";URLurl=newURL("http://someserver.domain/somefile");BufferedReaderin=null;in=newBufferedReader(newInputStreamReader(url.openStream(),"iso-8859-1"));result+=in.readLine();现在一切正常。但显然我希望读者不要只读一行,而是尽可能多地阅读文件中的内容

java - 使用 BufferedReader 读取 java 中的特殊字符

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Read/write.txtfilewithspecialcharacters我正在读取一个文件,但我不知道如何读取重音符号和特殊字符,这是用于读取的mo代码,我已阅读我必须添加不同的编码,但我不知道该怎么做Filefile=newFile("C://fichero.csv");BufferedReaderbufRdr=newBufferedReader(newFileReader(file));Stringline=null;line=bufRdr.readLine();谢谢

Java 8 BufferedReader lines() 方法打印不同的计数

我在使用BufferedReader的lines()方法计算行号时遇到了问题。以下是test.txt文件的内容。1Career2Filmography3Awards4References5External这里是计算行号两次的源代码。BufferedReaderbr=newBufferedReader(newFileReader(newFile("test.txt")));longlineNo=br.lines().count();longlineNo2=br.lines().count();System.out.println(lineNo);//5System.out.println