标签: bufferedreader

使用缓冲区将http请求响应转换为Android中的字符串 - 未获得完整响应

我正在开发一个发布到网站的应用程序,我正在尝试将实体响应存储为字符串.但是,字符串似乎只包含一小部分响应,大约35行左右.我想知道它是否与缓冲区溢出有关但我真的不确定.我的代码如下:

static String getResponseBody(HttpResponse response) throws IllegalStateException, IOException{

    String content = null;
    HttpEntity entity = response.getEntity();

    if (entity != null) 
    {
        InputStream is = entity.getContent();
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
        String line = null;

        while ((line = br.readLine()) != null) 
        {
            if(isBlankString(line) == false)
            {
            sb.append(line + "\n");
            }
        }
        br.close();
        content = sb.toString();
    }
    return content; 
Run Code Online (Sandbox Code Playgroud)

isBlankString只是注意一条线是否包含任何字符,因为响应中有很多空白行让我烦恼.我有一个问题,即无论有没有得到整个回应.任何人都知道发生了什么或如何解决这个问题?

谢谢

string android httpresponse buffer-overflow bufferedreader

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

Java - 扫描仪在一定数量的行之后不扫描

我在Java中做了一些相对简单的I/O. 我有一个.txt文件,我正在阅读使用扫描仪和.txt文件,我正在使用BufferedWriter写.然后另一个Scanner读取该文件,然后另一个BufferedWriter创建另一个.txt文件.我提供了下面的代码以防万一,但我不知道它是否会有太多帮助,因为我不认为代码是这里的问题.代码编译没有任何错误,但它没有做我期望的.由于某种原因,charReader只读取其文件的大约一半,然后hasNext()将返回false,即使文件末尾尚未到达.这些不是大文本文件 - statsReader的文件是34 KB,而charReader的文件是29 KB,甚至更奇怪,因为statsReader读取整个文件很好,而且它更大!此外,我确实有一个try/catch包围的代码,我只是没有包含它.

从我在网上看到的情况来看,这可能发生在非常大的文件中,但这些文件非常小,所以我很丢失.

我的操作系统是Windows 7 64位.

        Scanner statsReader = new Scanner(statsFile);
        BufferedWriter statsWriter = new BufferedWriter(new FileWriter(outputFile));

        while (statsReader.hasNext()) {
            statsWriter.write(statsReader.next());
            name = statsReader.nextLine();
            temp = statsReader.nextLine();
            if (temp.contains("form")) {
                name += " " + temp;
                temp = statsReader.next();
            }
            statsWriter.write(name);
            statsWriter.newLine();
            statsWriter.write(temp);
            if (! (temp = statsReader.next()).equals("-"))
                statsWriter.write("/" + temp);
            statsWriter.write("\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "\t");
            statsWriter.write(statsReader.nextInt() + "");
            statsWriter.newLine();
            statsReader.nextInt();
        }

        Scanner charReader = …
Run Code Online (Sandbox Code Playgroud)

java file-io bufferedreader java.util.scanner

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

在文件上使用BufferedReader时出现FileNotFoundException

我对使用Java进行基本文件读取非常困惑.很多混合信号.

我尝试了几种不同的方式,每次都会遇到一个未找到的异常.我已经检查了一个文件对象设置为当前路径以打印当前目录,我确实在我正在尝试打开的文件所在的目录中.权限已设置,以便每个人都可以阅读.我不确定发生了什么:

BufferedReader infixLines = new BufferedReader ( new FileReader ( "input.infix" ));
Run Code Online (Sandbox Code Playgroud)

这是抛出错误的行,因此使用infixLines的每个连续行也会抛出错误.

我也尝试使用FileInputStream并得到同样的错误.

这就是说干脆

File file = new File("input.infix");
if ( file.exists() )
    System.out.println( "Exists" );
Run Code Online (Sandbox Code Playgroud)

做的工作.

非常困惑.

编辑:( Stacktrace?)

ParseInfix.java:13: unreported exception java.io.FileNotFoundException; must be
            BufferedReader infixLines = new BufferedReader(new FileReader (n
                                                           ^
ParseInfix.java:15: unreported exception java.io.IOException; must be caught or
            while ( ( line = infixLines.readLine()) != null )
Run Code Online (Sandbox Code Playgroud)

java file filenotfoundexception ioexception bufferedreader

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

eclipse中的java文件相对路径

三天我试图弄清楚如何使用相对文件路径读取文件.在eclipse中,这个编译并且工作得很好,但是当我导出app时.它说它找不到文件.这是我工作的截图和代码.

这段代码有效,但只有在eclipse中,它才能编译并完美地完成工作.但是当我将其导出为runnable jar文件时,我得到一个错误,它无法找到licenca.txt

 BufferedReader in = new BufferedReader(new FileReader(new File("licenca.txt").getPath()));
        String str;
        while ((str = in.readLine()) != null) {
      taLicenca.append(str + "\n");

    }
Run Code Online (Sandbox Code Playgroud)

这是我的项目文件的屏幕截图

文件http://img207.imageshack.us/img207/5317/63432445.png

我试过使用扫描仪功能,结果仍然相同,它在eclipse中工作,但在导出时不起作用.这是错误消息:

错误http://img98.imageshack.us/img98/1771/greskaa.png

java io file path bufferedreader

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

无法在java中执行文件IO

我是java的初学者,并为postfix evaluationataion编写了以下问题.虽然该程序适用于控制台IO.使用文件时出现问题.我试图在文件中获取程序的答案output00.txt,但文件是空的.这是代码.我遗漏了对这个问题无关紧要的方法.

public static void main(String[] args) throws Exception  {


     FileReader input = new FileReader("input00.txt");
        BufferedReader in = new BufferedReader(input)   ;
        FileWriter output = new FileWriter("output00.txt");
        BufferedWriter out = new BufferedWriter(output);
        while (true)  {
          String lineReader = in.readLine();
          if (lineReader==null) {
              break;
          }
          Stack<String> m_Stack = new Stack<String>();

          m_Stack.addAll(Arrays.asList(lineReader.trim().split("[ \t]+")));

          if (m_Stack.peek().equals("")){
              continue;
          }
          try  {
            double finVal = evaluateRPN(m_Stack);
            if (!m_Stack.empty()) {
                throw new Exception();
            }
            out.write(finVal + "\n");
          }
          catch (Exception e)  {System.out.println("error");}
        }
      }
Run Code Online (Sandbox Code Playgroud)

文件input00.txt包含 …

java file-io bufferedreader

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

Java NullPointerException即使对象存在

我正在NullPointerException调用方法并将其传递给字符串.我只能假设字符串为null.

BufferedReader之前几行从readline 初始化.这是相关的代码:

FileInputStream tmp = null;
try {
    tmp = new FileInputStream(file);
} catch (FileNotFoundException e) {
    System.err.println("File not found!");
    e.printStackTrace();
    System.exit(1);
}
DataInputStream dis = new DataInputStream(tmp);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));

create();

try {
    data = br.readLine();
} catch (IOException e) {
    System.err.println("First readline failed: " + e);
    System.exit(1);
}
while (!data.equals(null)) {
    process(data);
    ...
Run Code Online (Sandbox Code Playgroud)

和错误:

Exception in thread "main" java.lang.NullPointerException
       at enc.read(enc.java:40)
       at enc.main(enc.java:15)
Run Code Online (Sandbox Code Playgroud)

java string nullpointerexception bufferedreader

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

Java-打开txt文件并清除所有多个空格

我有一个txt文件,我想做的就是打开它并删除所有多个空格,因此它们仅成为一个。我用:

br = new BufferedReader(new FileReader("C:\\Users\\Chris\\Desktop\\file_two.txt"));
bw = new BufferedWriter(new FileWriter("C:\\Users\\Chris\\Desktop\\file_two.txt"));

while ((current_line = br.readLine()) != null) {
     //System.out.println("Here.");
     current_line = current_line.replaceAll("\\s+", " ");
    bw.write(current_line);
}        
br.close();
bw.close();
Run Code Online (Sandbox Code Playgroud)

但是,至少对我来说,这似乎是正确的,但文件上没有任何内容。如果我使用system.out.println命令,则不会打印该命令,这意味着执行永远不会在while循环中……我该怎么办?谢谢

java bufferedwriter bufferedreader

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

使用Buffered Reader读取int

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("please enter the size of array");
size = br.read();
sarray = new int[size];

for (int i = 0; i < size; i++) {
    sarray[i] = i;
}
System.out.println(sarray.length);
Run Code Online (Sandbox Code Playgroud)

当我尝试打印数组的长度时,它显示为"51",即使我将大小设为"3".

java bufferedreader

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

如何在java中替换现有文本文件中的单词

我想将一个单词替换为现有文本文件中的另一个单词.我认为我的代码是正确的,但每当我运行程序时,所有文本都会在文本文件中被删除.

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Test {
    public static void main(String ar[]) throws IOException{

         String getText, putText;
         File f = new File("Test.txt");
         FileReader fr ;
         BufferedReader br ;
         BufferedWriter bw;
         if(f.exists()){
             try{
                 fr = new FileReader(f);
                 br = new BufferedReader(fr);
                 bw = new BufferedWriter(new FileWriter(f));
                 while((getText = br.readLine()) != null){
                     System.out.println(getText);
                     if(getText != null){
                         putText = getText.replaceFirst("Dog", "Cat");
                         bw.write(putText);
                     }   
                 }
                bw.close();
                br.close();
             }
             catch(IOException e){
                 e.printStackTrace();
             }
         }else{ …
Run Code Online (Sandbox Code Playgroud)

java file ioexception filereader bufferedreader

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

文件输入只读取输入文件中的最后几行

这是一个从.txt文件中读取所有内容的简单代码.不确定是什么问题.我尝试了一个不同的测试文件,它只读取了line2和line4 null.它甚至不应该null按照while循环条件读取.

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

public class FileInput {

    public ArrayList<String> readFile() {
        ArrayList<String> content = new ArrayList<>();

        try {
            File file = new File("input.txt");
            BufferedReader br = new BufferedReader(new FileReader(file)); 

            String line = null;

            while (br.readLine() != null) {
                line = br.readLine();
                content.add(line);
                System.out.println(line);
            }

        } catch (FileNotFoundException e) {
            System.out.println("File could not be found. " + e.getMessage());
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        return content;
    }

    public static void main(String []args) {

        FileInput …
Run Code Online (Sandbox Code Playgroud)

java file bufferedreader

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