Tag: bufferedreader

BufferedReader.readLine()不读取并挂起系统(等待)

BufferedReader.readLine()不读取并挂起system(wait) 。 InputStream istrm = runtimeProcess.getInputStream(); InputStreamReader istrmrdr = new InputStreamReader(istrm); BufferedReader buffrdr = new BufferedReader(istrmrdr); System.out.println(“4”); String data; String st; System.out.println(“4a”); while (!(st=buffrdr.readLine()).isEmpty()) { System.out.println(“5 in loop”); }

将输出数据写入文本文件会导致文本文件中的结果不完整

我有14个列表,每个列表都有数字或字符串数​​据。 每个列表的大小是32561.我必须输出一个格式为的文件: list1_element1 list2_element1…………………..list14_element1 list1_element2 list2_element2…………………..list14_element2 . . . . . list1_element32561 list2_element32561…………………..list14_element32561 输出文件中的每个元素由制表符空格分隔。 我在Java中这样做了。 out = new BufferedWriter(new FileWriter(fileName)); for(int i=0; i<32561; i++) { out.write(firstList.get(i)); out.write("\t"); out.write(secondList.get(i)); out.write("\t"); out.write(thirdList.get(i)); out.write("\t"); out.write(fourthList.get(i)); out.write("\t"); out.write(fifthList.get(i)); out.write("\t"); out.write(sixthList.get(i)); out.write("\t"); out.write(seventhList.get(i)); out.write("\t"); out.write(eighthList.get(i)); out.write("\t"); out.write(ninthList.get(i)); out.write("\t"); out.write(tenthList.get(i)); out.write("\t"); out.write(eleventhList.get(i)); out.write("\t"); out.write(twelvethList.get(i)); out.write("\t"); out.write(thirteenthList.get(i)); out.write("\t"); out.write(fourteenthList.get(i)); out.write("\t"); out.write(fifteenthList.get(i)); out.newLine(); […]

套接字,BufferedReader.readline() – 为什么流没有准备好?

我正在学习java,我遇到了套接字的一些问题。 我开发了一个简单的客户端 – 服务器应用程序 – 敲门,它执行4个步骤: 客户端向服务器发送一些消息 服务器收到它们并保存到文件 服务器向客户端发回一些其他消息 客户收到它们并保存到文件 问题出现在步骤#4:客户端不接收消息并且永远不会出现循环: while ((inStr = in.readLine()) != null) { writer.println(inStr); } 其中in是BufferedReader类型: try { socket = new Socket(ipAddress, 4444); out = new PrintWriter(socket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } 在服务器端发送消息: try { socket […]

是缓冲读卡器线程安全吗?

有什么办法我可以得到一个线程安全的缓冲读卡器。当我运行此代码时,我得到了以下信息# Threadid=28 ObjectReference=de.factfinder.resource.Resource@1b7aeb4 Threadid=28 ObjectReference=java.io.InputStream@3d6fb9 Threadid=28 ObjectReference=java.io.InputStreamReader@171e0f6 Threadid=28 ObjectReference=java.io.BufferedReader@1684179 28 started Reading Threadid=28 ObjectReference=de.factfinder.resource.Resource@1b7aeb4 Threadid=28 ObjectReference=java.io.InputStream@3d6fb9 Threadid=28 ObjectReference=java.io.InputStreamReader@171e0f6 Threadid=28 ObjectReference=java.io.BufferedReader@1684179 28 finished Reading Threadid=38 ObjectReference=de.factfinder.resource.Resource@1bebf14 Threadid=38 ObjectReference=java.io.InputStream@3d6fb9 Threadid=38 ObjectReference=java.io.InputStreamReader@171e0f6 Threadid=38 ObjectReference=java.io.BufferedReader@1684179 38 started Reading Threadid=38 ObjectReference=de.factfinder.resource.Resource@1bebf14 Threadid=38 ObjectReference=java.io.InputStream@3d6fb9 Threadid=38 ObjectReference=java.io.InputStreamReader@171e0f6 Threadid=38 ObjectReference=java.io.BufferedReader@1684179 38 finished Reading 缓冲读取器,InputStreamReader和InputStream的哈希码保持不变。为什么?

任何Java流输入库是否都保留行结束字符?

我想一次遍历一行文本文件,对内容进行操作,并将结果传输到单独的文件中。 BufferedReader.readLine()教科书案例。 但是:我需要将我的线条与换行符粘在一起,如果原始文件没有我的平台的“正确”换行符(Linux上的DOS文件,反之亦然),该怎么办? 我想我可以在流中稍微阅读一下,看看我找到了什么样的行结尾,即使那真是太烂了。 但是:假设我的输入文件没有尾随换行符。 我想保留它们的样子。 现在我需要在阅读每一行之前先查看下一行结尾。 在这一点上,我为什么要使用一个给我readLine()的类呢? 这似乎应该是一个解决的问题。 是否有一个库(甚至更好的核心Java7类!)只是让我调用类似于readLine()的方法,它从流中返回一行文本,EOL字符是否完整?

java阅读器与流

我正在阅读有关Java I / O的内容,并发现了一些有趣的领域,如流,读者等。 InputStream input = new FileInputStream(“input-file.txt”); int data = input.read(); while(data != -1){ data = input.read(); } 我可以通过如下使用读者来做同样的事情: Reader reader = new FileReader(“input-file.txt”); int data = reader.read(); while(data != -1){ char dataChar = (char) data; data = reader.read(); } 据我所知,Streams用于从连续流动的数据中检索输入。 现在我对Streams和读者之间的区别感到困惑; 如果我们用一个缓冲的阅读器包裹流 – 它如何打破线条,因为流是一个不断流动的东西。 我发现了一些像这个网站的参考网站。 但我无法理解其中的区别。 请有人帮我理解一下吗?

随机化用Java读取的文本文件

我试图用Java读取一个文本文件,基本上是一组问题。 有四个选择和一个答案。 结构如下所示: 题 选项a 选项b 选项c 选项d 回答 我这样读它没有问题: public class rar{ public static String[] q=new String[50]; public static String[] a=new String[50]; public static String[] b=new String[50]; public static String[] c=new String[50]; public static String[] d=new String[50]; public static char[] ans=new char[50]; public static Scanner sr= new Scanner(System.in); public static void main(String args[]){ int […]

从缓冲区读取时省略了换行符

我写了以下代码: public class WriteToCharBuffer { public static void main(String[] args) { String text = “This is the data to write in buffer!\nThis is the second line\nThis is the third line”; OutputStream buffer = writeToCharBuffer(text); readFromCharBuffer(buffer); } public static OutputStream writeToCharBuffer(String dataToWrite){ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(byteArrayOutputStream)); try { bufferedWriter.write(dataToWrite); […]

如何从Java中的标准输入读取整数数组?

在标准输入的一行中我有3种类型的整数:第一个整数是id,第二个整数是N – 某个数字,然后是N个整数,由我想要存储在数组或ArrayList中的单个空格分隔。 我怎么能用BufferedReader做到这一点? 我有以下代码: BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] line = br.readLine().split(” “); int ID = Integer.parseInt(line[0]); int N = Integer.parseInt(line[1]); 我的问题是,是否有任何优雅的方式来阅读其余的行并将其存储到数组中?

BufferedReader比Scanner有什么好处

这是关于图中深度优先搜索的代码。 谁知道为什么在这段代码中使用了bufferedReader类? 为什么不使用nextIntfunction呢? 它的特权是什么? 是为了加快处理速度? 谢谢 :) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Graph { int g[][]; int v,e; int visited[]; void createGraph()throws IOException { int a,b; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.print(“\n Enter Number Of Vertices = “); v=Integer.parseInt(br.readLine()); System.out.print(“\n Enter Number Of Edges = “); e=Integer.parseInt(br.readLine()); g=new int[v+1][v+1]; for(int i=1;i<=e;i++) { […]