草庐IT

rb-readline

全部标签

java - BufferedReader.readLine 阻止我的程序,但 BufferedReader.read() 正确读取

我有一个片段如下:Processproc=Runtime.getRuntime().exec(command);BufferedReaderbr=newBufferedReader(newInputStreamReader(proc.getErrorStream()));Stringline=br.readLine();现在在上面的代码中,我确信进程总是有在线输入,所以我没有使用任何类型的while循环或任何null检查。问题是readLineblock。我知道的一个原因是,流没有数据可读,因此readLine一直在等待。为了检查这一点,我删除了readLine并使用了read()函数

Java:BufferedReader 的 readLine 方法的效率和可能的替代方法

我们正在努力减少延迟并提高用Java编写的进程的性能,该进程通过BufferedReader的readLine()方法从套接字消耗数据(xml字符串)。类(class)。数据由行尾分隔符(\n)分隔,每行的长度可以是可变的(6KBits-32KBits)。我们的代码如下所示:Socketsock=connection;InputStreamin=sock.getInputStream();BufferedReaderinputReader=newBufferedReader(newInputStreamReader(in));...do{Stringinput=inputReader.

java - 如何找出 BufferedReader#readLine() 用于拆分行的行分隔符?

我正在通过BufferedReader读取文件Stringfilename=...br=newBufferedReader(newFileInputStream(filename));while(true){Strings=br.readLine();if(s==null)break;...}我需要知道这些行是用'\n'还是'\r\n'分隔的我有办法查明吗?我不想打开FileInputStream,所以一开始就扫描它。理想情况下,我想问BufferedReader因为它必须知道。我很高兴重写BufferedReader来破解它,但我真的不想打开文件流两次。谢谢,注意:不能使用当前行分隔

java - 套接字,BufferedReader 卡在 readLine()

我有一个服务器最初是这样做的:-BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));for(;;){StringcmdLine=br.readLine();if(cmdLine==null||cmdLine.length()==0)break;...}稍后它将套接字传递给另一个类“foo”此类等待特定于应用程序的消息。BufferedReaderbr=newBufferedReader(newInputStreamReader(s.getInputStream()));appCmd=b

java - 是否有 BufferedReader.readLine() 的等价物让我选择我的行尾字符是什么?

BufferedReader.readLine()的Javadoc说:Alineisconsideredtobeterminatedbyanyoneofalinefeed('\n'),acarriagereturn('\r'),oracarriagereturnfollowedimmediatelybyalinefeed.我需要比这更好的控制(例如,我希望能够指定行尾是“\r\n”,以便“\n”本身不会终止该行)。是否有任何JDK或库函数可以执行此操作? 最佳答案 尝试使用Scanner类:Stringline=Scanner(fi

java - 如何在 reader.readLine() 期间检测第一行和最后一行?

我正在以下面的方式读取文件的每一行BufferedReaderin=newBufferedReader(newFileReader(inFile));while(null!=(line=in.readLine())){}我想单独在第一行和最后一行做一些验证。有没有检查它是否是while循环中的第一行和最后一行的方法while(null!=(line=in.readLine())){if(firstlineoffile){}elseif(lastlineoffile){}else{}} 最佳答案 很酷的问题。我玩了一下,这是一个SSC

python - 'in fp' 和 'in fp.readlines()' 有什么区别?

forlineinfp和forlineinfp.readlines()有什么区别?withopen(filename,'r')asfp:forlineinfp.readlines():#ANDwithopen(filename,'r')asfp:forlineinfp: 最佳答案 file.readlines()“[读取]并[返回]流中的行列表。”所以您得到的是每一行的列表。因此,整个文件被读入内存,然后分成几行。文档已经这样说了:Notethatit’salreadypossibletoiterateonfileobjectsus

python - 如何在 python 中使用 readlines 仅在回车时拆分?

我有一个包含\n和\r\n行尾标记的文本文件。我只想在\r\n上拆分,但无法找到使用python的readlines方法执行此操作的方法。对此有简单的解决方法吗? 最佳答案 正如@eskaev提到的,如果没有必要,您通常会希望避免将整个文件读入内存。io.open()允许您指定newline关键字参数,因此您仍然可以遍历行并让它们仅在指定的换行符处拆分:importioforlineinio.open('in.txt',newline='\r\n'):printrepr(line)输出:u'this\nis\nsome\r\n'u'

python - Pydoop 卡在 HDFS 文件的 readline 上

我正在读取目录中所有文件的第一行,在本地它工作正常,但在EMR上,此测试在卡在大约200-300个文件时失败。ps-eLF还显示子项增加到3000,甚至在第200行打印。这是EMR读取最大字节数的一些错误吗?pydoop版本pydoop==0.12.0importosimportsysimportshutilimportcodecsimportpydoop.hdfsashdfsdefprepare_data(hdfs_folder):folder="test_folder"copies_count=700src_file="file"#1)createafolderifos.path.

python - 通过 readlines(size) 提高大文件搜索的效率

我是Python的新手,目前正在使用Python2。我有一些源文件,每个文件都包含大量数据(大约1900万行)。它看起来像下面这样:apple\tN\tapplen&aposgarden\tN\tgardenb\ta\mdgreat\tAdj\tgreatnice\tAdj\t(unknown)etc我的任务是在每个文件的第3列中搜索一些目标词,每次在语料库中找到一个目标词,就必须将这个词前后的10个词添加到多维词典中。编辑:应排除包含“&”、“\”或字符串“(unknown)”的行。我尝试使用readlines()和enumerate()来解决这个问题,如下面的代码所示。代码做了它应