标签: bufferedreader

如何从 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]);
Run Code Online (Sandbox Code Playgroud)

我的问题是有什么优雅的方法来读取该行的其余部分并将其存储到数组中吗?

java arrays bufferedreader

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

Java 套接字丢失数据:BufferedReader

我在 Java 中遇到以下问题:我正在开发和应用程序使用java.net.Socket. 它看起来像这样:有一个服务器,它有一个线程,它接受并添加新客户端,另一个线程从套接字读取数据并用它做“某事”。旁边是客户。客户端具有数据读取器线程以及单独的线程。我发送的数据很简单:

socket.getOutputStream().write((content+"\n").getBytes());
Run Code Online (Sandbox Code Playgroud)

在客户端并在服务器上读取它,例如:

try {
    BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    String received;
    while(true) {
        try {
            reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            received = reader.readLine();
            if(received == null) {
                break;
            }
            System.out.println("SERVER " + received);
            increaseReceivedCounter(1);
        } catch(SocketException e) {
            break;
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    System.out.println("SERVER RECEIVED "+ getReceivedCounter() + " MESSAGES!");
}
Run Code Online (Sandbox Code Playgroud)

现在我只是设置客户端发送一些这样的消息:

try {
    int n = 1000;
    System.out.println("sending "+ …
Run Code Online (Sandbox Code Playgroud)

java sockets tcp bufferedreader java-io

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

Java BufferedReader 通过自定义分隔符读取行

BufferedReader'sreadline()读取由 '\n' 定义的行,是否可以读取由其他分隔符定义的行,例如^B?谢谢

java bufferedreader

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

无法让BufferedWriter写出文件中的所有数据

我有这个函数遍历一个目录,应该读入每个文件并将其写入生成的HTML文件.BufferedReader应该正确读取,因为我在其他地方使用相同的东西.但是,在生成的HTML文件中,我只从目录中的原始文件获取所有其他数据行.这是应该完成此任务的方法:

// Tests to see if "File" is actually a directory or file,
// then writes out the file if it passes the test
void writeFiles(File directory, BufferedWriter bw) {
    try{
        for( File file : directory.listFiles() ){
            if(!file.isDirectory()) {//is a file lets read it
                FileInputStream filestream = new FileInputStream(file);
                DataInputStream in = new DataInputStream(filestream);
                BufferedReader br = new BufferedReader(new InputStreamReader(in));
                String buff = new String();
                bw.write("<b>////////////////////////////////</b><br/>");
                bw.write("<b>File: " + file.getName() + "</b><br/>");
                bw.write("<b>////////////////////////////////</b><br/>");
                while((buff=br.readLine()) != null){
                    bw.write(br.readLine() + "<br/>");
                } …
Run Code Online (Sandbox Code Playgroud)

java file-io bufferedwriter bufferedreader

0
推荐指数
1
解决办法
550
查看次数

BufferedReader java未到达文件末尾

目前我正在尝试从内容长度为37743的响应中读取一个不那么短的流.我使用read(char []缓冲区,int offset,int length),但是在将它与原来的json文件我正在读.我试图检查这是否是一个常见的问题,但我找不到任何可能导致问题的原因:

  • 字符串构建器的最大长度?
  • char []的最大长度?
  • 缓冲长度?(目前8192)
  • 条件不正确?(以下代码段)
while ((reader.read(buffer, 0, buffer.length)) != -1)
     sb.append(String.valueOf(buffer)); //sb is the String builder
Run Code Online (Sandbox Code Playgroud)

注意当缓冲区长度被改变,结果再次改变,例如,当改为1024,与8192缓冲达到加上又是一段文字,这是不符合原来的JSON字符串一致得到相同的结果.

java buffer file bufferedreader

0
推荐指数
2
解决办法
1303
查看次数

它是否正确 ?如何从文件加载字节?

我需要使用Java从文件加载字节.这是正确的吗 ?

InputStream ips=new FileInputStream(file); 
InputStreamReader ipsr=new InputStreamReader(ips);
BufferedReader br=new BufferedReader(ipsr);                 
String line;
String cle = "" ;
while ((line=br.readLine())!=null){
   cle+=line
}
---> cle.getBytes()
Run Code Online (Sandbox Code Playgroud)

java byte inputstream file bufferedreader

0
推荐指数
1
解决办法
204
查看次数

初始化BufferedReader(JAVA)

我目前正在编写一个方法来测试输入字符串(密码)是否包含字典的一部分.字典是一个简单的txt文件,每行一个字.我现在想检查字典的每一行,如果它包含在输入字符串中.下面的代码对我有用:

public boolean dictionaryCheck(String pLine)
{
  BufferedReader myReader;
  String currentLine;
  try
  {
    myReader = new BufferedReader(new FileReader("dict.txt"));
    while(myReader.readLine() != null)
    {
      currentLine = myReader.readLine();
      if(pLine.contains(currentLine))
      {
        return false;
      }
    }
  }
  catch (Exception e){System.out.println("Error: " + e);}
  return true;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我使用任何参数String运行该方法时,我收到以下错误:

Error: java.lang.NullPointerException

所以我假设BufferedReader没有正确初始化.

有关如何解决此问题的任何建议?代码对我来说似乎很好,但我可能会忽略一个错误.

提前致谢,

乔库克

java nullpointerexception bufferedreader

0
推荐指数
1
解决办法
3995
查看次数

读取文件Java的有效方法

从文件中读取输入的最有效方法是什么?

我有一个非常大的文件,其中包含由换行符分隔的单词列表

例如

computer
science 
is 
fun
really
Run Code Online (Sandbox Code Playgroud)

我正在考虑使用一个BufferedReader对象但是我对文档中的这一行感到困惑.

"通常,每个由Reader构成的读取请求都会导致相应的读取请求由基础字符或字节流组成.因此,建议将读取()操作可能代价高昂的任何Reader包裹在BufferedReader周围,例如FileReaders和InputStreamReaders.例如,

BufferedReader in = new BufferedReader(new FileReader("foo.in"));
Run Code Online (Sandbox Code Playgroud)

将缓冲指定文件的输入.如果没有缓冲,read()或readLine()的每次调用都可能导致从文件中读取字节,转换为字符,然后返回,这可能是非常低效的."<

有人可以向我解释一下吗?在第二次阅读时,我开始相信这BufferedReader是我最好的选择.有没有更好的办法?

java file bufferedreader

0
推荐指数
1
解决办法
2826
查看次数

当我尝试在finally块中关闭BufferedReader时,为什么eclipse会抱怨?

这是我的代码:

public static String readFile()
    {

        BufferedReader br = null;
        String line;
        String dump="";

        try
        {
            br = new BufferedReader(new FileReader("dbDumpTest.txt"));
        }
        catch (FileNotFoundException fnfex)
        {
            System.out.println(fnfex.getMessage());
            System.exit(0);
        }

        try
        {
            while( (line = br.readLine()) != null)
            {
                dump += line + "\r\n";
            }
        }
        catch (IOException e)
        {
            System.out.println(e.getMessage() + " Error reading file");
        }
        finally
        {
            br.close();
        }
        return dump;
Run Code Online (Sandbox Code Playgroud)

因此eclipse正在抱怨由此引发的未处理的IO异常 br.close();

为什么会导致IO异常?

我的第二个问题是为什么eclipse不会抱怨以下代码:

InputStream is = null; 
      InputStreamReader isr = null;
      BufferedReader br = null;

      try{
         // …
Run Code Online (Sandbox Code Playgroud)

java eclipse exception try-catch-finally bufferedreader

0
推荐指数
1
解决办法
533
查看次数

编译器是否可以在输出上具有最大值?

[原文] [1]

[我在服务器类中打印时的结果] [2]

在我的服务器类中,我想读取文本文件的每一行,包括空行,但它从文件的中间开始.我相信它与ecplise max输出有关.我知道,因为我从每一行得到正确的字节输出.

java file bufferedreader

0
推荐指数
1
解决办法
62
查看次数