标签: bufferedreader

缓冲读卡器线程安全吗?

有什么方法可以得到一个线程安全的缓冲读卡器.当我运行这段代码时,我得到了以下信息#

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
Run Code Online (Sandbox Code Playgroud)

缓冲读取器,InputStreamReader和InputStream的哈希码保持不变.为什么?

java multithreading bufferedreader

2
推荐指数
1
解决办法
7534
查看次数

BufferedReader.nextLine()不会前进到下一行,所以我陷入了循环

我正在尝试重用输入法Scanner(System.in)BufferedReader(FileReader).当用户键入"readfile"作为命令时,程序会将文件中的第一个人(即文件中的第一行)添加到列表中,但是BufferedReader卡在同一行上,因此卡在无限循环中.键盘输入
Scanner方法就像魅力一样.

    class Menu {
        public static final int ARRAYINDEXFOREMAIL = 3;
        private static final String NEWPERSON = "newperson";
        private static final String FROMFILE = "readfile";
        public static final String READFILE = "saved.txt";
        private Scanner keyboardInput = new Scanner( System.in );
        private String name;
        private String tlf;
        private String[] email;
        private String [] stringTmp;
        private String in;
        private boolean readFromFile = false;

        Menu( boolean fileRead ) {
            if( fileRead ) {
                readFromFile …
Run Code Online (Sandbox Code Playgroud)

java bufferedreader

2
推荐指数
1
解决办法
4194
查看次数

.NET相当于Java的BufferedReader

我用Java编写代码

public void read() throws IOException {
    BufferedReader in = new BufferedReader(new InputStreamReader(this.socket.getInputStream(), "UTF8"));
    String requestURL = null;
    Vector property = new Vector();
    String line;
       //MORE OF CODE
}
Run Code Online (Sandbox Code Playgroud)

如果您需要完整代码,请粘贴.

我想把它改写成C#

但我不知道哪个等同于BufferReader.我有socket,我想从套接字InputStream读取(使用UTF8)

谢谢.

c# java bufferedreader

2
推荐指数
1
解决办法
2万
查看次数

Java:如何读取文本文件的每一行并将每一行设置为数组元素?

我试图阅读文本文件的每一行中列出的问题,然后将每一行添加到数组中,以便稍后可以单独调用它们.我几乎肯定可以用Java做,但我不确定如何做到这一点.

我确实弄清楚如何读取整个文本文件并将其全部设置为字符串:

    private static String readFile(String pathname) {
    String line = null;
    try {
        BufferedReader reader = new BufferedReader(new FileReader(pathname));
        while((line = reader.readLine()) != null){
            System.out.println(line);
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return line;
}
Run Code Online (Sandbox Code Playgroud)

虽然它与此没什么关系,但正如我所提到的,这是一个存在问题的文件.如果我得到这个问题的解决方案,我将有另一个文件来解决问题的所有答案,然后我将为该文件做同样的事情.

有谁知道一个不太复杂的方法来做到这一点?如果它必须复杂,那么告诉我.我想要某种类型的示例,而不仅仅是指向不同站点的链接.我不是说我只会接受这个.

感谢您的时间!

PS我已经阅读了关于这个主题的其他问题,但找不到合适的答案和/或示例我正在尝试用Java做什么.

java arrays file filereader bufferedreader

2
推荐指数
1
解决办法
1万
查看次数

BufferedReader.readline()挂起

我正试图/usr/bin/perl -e 'for(my $i=0;$i<1000;$i++){print 1x1000;print STDERR 2x1000;}'用我的程序运行(在终端中运行).

ProcessBuilder pb = new ProcessBuilder(go); //go is the command
process = pb.start();
BufferedReader incommandbuf = new BufferedReader(new InputStreamReader(process.getInputStream()),1024*1000);
BufferedReader errcommandbuf = new BufferedReader(new InputStreamReader(process.getErrorStream()),1024*1000);
stdString = "";

while ((line = incommandbuf.readLine()) != null)
{
    stdString += line + "\n";
}
String errorstrtemp = "";
while ((line = errcommandbuf.readLine()) != null)
{
    errorstrtemp += line + "\n";
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试运行它,它会挂起while ((line = incommandbuf.readLine()) != null).如果我将命令更改为,程序将运行/usr/bin/perl -e 'for(my $i=0;$i<64;$i++){print 1x1000;print STDERR …

java linux bufferedreader

2
推荐指数
1
解决办法
1368
查看次数

Java进程无法通过Runtime.getRunTime()。exec()获得InputStream

try {

        String str;
        Process process = Runtime.getRuntime().exec("bash /home/abhishek/workspace/Pro/run");
        InputStream isout = process.getInputStream();
        InputStreamReader isoutr = new InputStreamReader(isout);
        BufferedReader brout = new BufferedReader(isoutr);
        while ((str = brout.readLine()) != null) {
            System.out.println(str);
        }

} catch (IOException e) {
        e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

该代码在从流程获取InputStream方面存在问题,因为如果我从终端运行Shell脚本,则它运行得很好,但是如果我像这样运行脚本,则str始终为null,

我正在使用此代码将Shell脚本的输出直接获取到Java中,而不是在文件中写入脚本输出

还有其他方法可以解决此问题,或者如何使用当前方法解决问题

java linux shell runtime bufferedreader

2
推荐指数
1
解决办法
6244
查看次数

Java - 我想从命令行读取文件名,然后使用bufferedreader读取每一行

我正在得到一个日食红色下划线错误

 br = new BufferedReader(new FileReader(inFile));
Run Code Online (Sandbox Code Playgroud)

关于"inFile"的一行.这是我想要阅读的对象,我认为它包含我在命令行上给出的命令行文件名/路径.我处理这个错误吗?

import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {

     public static void main(String[] args) {
      if (0 < args.length) {
          File inFile = new File(args[0]);
      }

        BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader(inFile));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } 

        catch (IOException e) {
            e.printStackTrace();
        } 

        finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            } …
Run Code Online (Sandbox Code Playgroud)

java command-line bufferedreader

2
推荐指数
1
解决办法
4万
查看次数

打印任意长度的用户输入名称的首字母以及java中的完整姓氏

我是java新手,我一直在尝试解决一个问题,我觉得答案可能比我的代码更简单.问题是打印任意长度的用户输入名称的首字母以及完整的姓氏.但这有没有任何String.split()或arrays.I尝试让用户一次输入一个单词,但有没有可能的方法立即获取整个名称并按要求执行.我的代码如下:

import java.io.*;
public class Initials {
    public static void main(String[]args)throws IOException{
        BufferedReader br =  new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter the number of words your name contains");
        int n=Integer.parseInt(br.readLine());
        String str="";
        for(int x=1;x<=n-1;x++){
            System.out.println("Enter your name's word number:"+" "+x);
            String s=br.readLine();
            String st=s.toUpperCase();
            char ch=st.charAt(0);
            str=str+ch+".";
        }
        System.out.println("Enter your surname");
        String sur=br.readLine();
        str=str+" "+sur.toUpperCase();
        System.out.println(str);
    }
}
Run Code Online (Sandbox Code Playgroud)

java string bufferedreader inputstreamreader

2
推荐指数
1
解决办法
7663
查看次数

未处理的异常:FileNotFoundException

我在java中读取文件时遇到一些问题:我的文件是例如:

3,4
2
6
4
1
7
3
8
9
Run Code Online (Sandbox Code Playgroud)

第一行3和4是数组A和B的长度,然后是每个数组的元素.我做的

import java.io.*;
import java.util.Arrays;

public class Progetto  {

    public static void main(String args[])
      {
// Open the file that is the first 
// command line parameter

            FileInputStream fstream = new FileInputStream("prova.txt");
            BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
            String strLine = br.readLine(); // step 1

            if (strLine != null) {
              String[] delims = strLine.split(","); // step 2

              // step 3
              int[] a = new int[Integer.parseInt(delims[0])];
              int[] b = new int[Integer.parseInt(delims[1])]; …
Run Code Online (Sandbox Code Playgroud)

java bufferedreader

2
推荐指数
2
解决办法
1万
查看次数

获取文本文件中行的字节偏移量?

我有一个像文本文件

one
two
three
four
five
Run Code Online (Sandbox Code Playgroud)

我需要获取文件中每一行的偏移量.我如何用Java做到这一点?

我搜索了一些I/O库(如BufferedReader和RandomAccessFile)但我无法找到满意的答案.

任何人都可以建议如何处理这个?

java offset bufferedreader randomaccessfile

2
推荐指数
1
解决办法
4955
查看次数