标签: bufferedreader

等到页面加载后再从Java中读取URL中的内容

我正在读取我的java代码中的url但是我想要读取的页面在加载时执行命令并且InputStreamReader在完全加载之前读取页面,因此我的缓冲读取器仅在真实内容之前收集页面上的HTML加载.

我的主要目标是在页面上找到"sales"这个词,但如果在加载整个页面之前连接了已打开的流,则无法执行此操作.有没有办法等待它加载或什么?

这是我的代码:

URL url = new URL("http://urlgoeshere.com?"+ withAParam);
        URLConnection uc = url.openConnection();
        uc.connect();
        BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
        String inputLine = in.readLine();
        int index = -1;             
        while ((inputLine = in.readLine()) != null){
            index=inputLine.toLowerCase().indexOf("sales");
            if(index>=0){
            log.info("Found sales!");
                break;                  
            }
        }
        if (in != null){
            in.close(); 
        }
Run Code Online (Sandbox Code Playgroud)

java connection url find bufferedreader

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

java telnet socket:BufferedReader/BufferedWriter

我的服务器在23999打开一个telnet端口,当我给出时telnet localhost 23999,它显示如下:

< BP-SAS ==> bplin19 !>telnet 0 23999
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
Please enter password to authenticate:
(here i give password for example abc123)   
Enter 'help' at any point to get a listing of all registered commands...
BAS> log set-info 1 ( commad i have entered and it does somthing )
Run Code Online (Sandbox Code Playgroud)

现在不是像这样打开,我必须编写执行此操作的java代码.

  1. 连接到主机23999端口
  2. 输入密码
  3. 输入commad

Socket soc=new Socket("192.168.9.7",23999);
  while(true){
  //create buffered writer
  BufferedReader bwin = new BufferedReader(new InputStreamReader(soc.getInputStream()));
  BufferedWriter bw = …
Run Code Online (Sandbox Code Playgroud)

java java-ee bufferedreader

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

从文本文件中读取数据并将其显示在textview上

我试图从我的原始文件夹中的文本文件"temp.txt"中读取数据,并在单击按钮"按钮"时在文本视图"text"上显示文件的内容,但我的应用程序崩溃时,我很有可能以错误的方式做这件事,因为我是android和java编程的新手.我在这里粘贴代码,任何帮助将不胜感激

案例R.id.b:

        InputStream is = getResources().openRawResource(R.raw.temp);
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        try {
            string = br.readLine();
            while(string != null){
                st = string;
            }
            text.setText(st);

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        break;
Run Code Online (Sandbox Code Playgroud)

"st"和"string"都是字符串变量.如果有人能指出另一种简单的方法来做同样的事情,我会很高兴的.

android bufferedinputstream readline bufferedreader

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

了解BufferedReader在Java中的工作方式

关于BufferedReader如何工作的非常基本的问题。给定字符串/短语,我想从其中包含很多文本的文件中查找并打印它。

在Java中使用BufferedReader对此主题进行了一些研究,这是最接近的结果。虽然不能完全解决我的问题。

因此,有了这些信息,为什么以下代码会终止?

public class MainApp {

String line = null;
String phrase = "eye";

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

    while((line = br.readLine()) != null) {
        if (line.equals(phrase) {
            System.out.println(line);
           }
        }

    br.close();

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

我对这个区块应如何运作的了解:

  • while循环遍历文本的每一行,直到条件不再成立为止
  • 每行都存储在BufferedReader中
  • 循环一直工作到满足if(line.equals(phrase)的条件 。
  • 打印找到的词组。

为什么我认为它可能 不会 工作:

  • readlines不会作为字符串存储在BufferedReader中(因此无法进行比较)

  • 错误的逻辑(很可能是if语句)

为了简单起见,让我们假设“ text.txt”充满了非常长的传说ipsum,并且在其中间的某个地方加上了一个“ eye”字。

问题到底在哪里?(如果可能的话,请不要提供完整的代码解决方案,为了练习,我很乐意亲自完成编码工作)。

java filereader bufferedreader

5
推荐指数
2
解决办法
8480
查看次数

为什么这个方法返回一个包含所有相同对象的ArrayList?JAVA

我有一个叫做的类User和一个名为的文件Users.csv,如下所示:

用户类:

public class User
{
private String name;
private String rg;
private String type;

public String getName()
{
    return name;
}

public String getRg()
{
    return rg;
}

public String getType()
{
    return type;
}

public void setName(String n)
{
    name = n;
}

public void setRg(String r)
{
    rg = r;
}

public void setType(String t)
{
    type = t;
}
}
Run Code Online (Sandbox Code Playgroud)

Users.csv:

a,b,c
d,e,f
as,d,cf
Run Code Online (Sandbox Code Playgroud)

另外,我有一个名为的类test,它实现了一个方法:

考试类:

public class test
{ …
Run Code Online (Sandbox Code Playgroud)

java csv file arraylist bufferedreader

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

如何在Java中读取相同的文件两次?

我想反击文件的行,在第二遍我想采取每一行并操纵它.它没有编译错误,但它不能进入​​第二个while ((line = br.readLine()) != null).是否有不同的方法来获取文件的行(电影)并存储在数组中?

        BufferedReader br = null;

        try { // try to read the file
            br = new BufferedReader(new FileReader("movies.txt"));
            String line;
            int numberOfMovies = 0;
            while ((line = br.readLine()) != null) {
                numberOfMovies++;
            }
            Movie[] movies = new Movie[numberOfMovies]; // store in a Movie
                                                        // array every movie of
                                                        // the file
            String title = "";
            int id = 0;
            int likes = 0;
            int icounter = 0; // count to create new movie …
Run Code Online (Sandbox Code Playgroud)

java file bufferedreader java-io

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

为什么默认的char缓冲区大小为BufferedReader 8192?

当我构造一个新的时,BufferedReader它为我提供了8192个字符的缓冲区。这背后的逻辑/原因是什么?

8192 = 2 to the power of 13
Run Code Online (Sandbox Code Playgroud)

java bufferedreader

5
推荐指数
2
解决办法
2126
查看次数

使用BufferedReader有什么效率影响?

用于从文件中读取字符的这两种方法有什么区别.

第一

FileReader fr = new FileReader( new File( "file.txt") );
int x = 0;
while( ( x = fr.read() ) != -1 ) {
    System.out.println( (char) x );
}
Run Code Online (Sandbox Code Playgroud)

第二

BufferedReader bfr = new BufferedReader( new FileReader( new File( "file.txt") ) );
int x = 0;
while( ( x = bfr.read() ) != -1 ) {
    System.out.println( (char) x );
}
Run Code Online (Sandbox Code Playgroud)

这两个代码都从文件中读取字符并将其写在控制台上.

哪种方法更有效,为什么? 或者它是一回事?

java file bufferedreader

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

Java 使用方法从一个文件读取并写入另一个文件

我正在学习 Java 并从事文件 IO 工作,现在一直停留在从一个文件读取文本并写入另一个文件中。我使用两种不同的方法,第一种方法用于在控制台中从文件#1 读取和显示文本,另一种方法用于在文件#2 中写入。

我可以成功读取并显示 File#1 中的内容,但不确定如何在 file#2 中写入文本。

这是我到目前为止编写的代码:

import java.io.*;
public class ReadnWrite {
    public static void readFile() throws IOException {
        BufferedReader inputStream = new BufferedReader(new FileReader(
                "original.txt"));
        String count;
        while ((count = inputStream.readLine()) != null) {
            System.out.println(count);
        }
        inputStream.close();
    }
    public static void writeFile() throws IOException{
        BufferedWriter outputStream = new BufferedWriter(new FileWriter(
        "numbers.txt"));

//Not sure what comes here
    }
    public static void main(String[] args) throws IOException {
        checkFileExists();
        readFile();
    }
}
Run Code Online (Sandbox Code Playgroud)

这只是为了我自己的学习,因为有很多例子可以阅读和编写,而无需使用不同的方法,但我想了解如何通过不同的方法来实现。

任何帮助将不胜感激。

问候,

java file-io bufferedwriter bufferedreader

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

如何检查文件内容是否为空

我正在尝试检查文件内容是否为空。我有一个内容为空的源文件。我尝试了不同的选择。但没有什么对我有用。

这是我的代码:

  Path in = new Path(source);
    /*
     * Check if source is empty
     */
    BufferedReader br = null;
    try {
        br = new BufferedReader(new InputStreamReader(fs.open(in)));
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        if (br.readLine().length() == 0) {
            /*
             * Empty file
             */
            System.out.println("In empty");
            System.exit(0);

        }
        else{
            System.out.println("not empty");
        }
    } catch (IOException e) {
        e.printStackTrace();

    }
Run Code Online (Sandbox Code Playgroud)

我试过使用 -

1. br.readLine().length() == 0
2. br.readLine() == null
3. br.readLine().isEmpty()
Run Code Online (Sandbox Code Playgroud)

以上所有内容都不是空的。我需要使用 -

BufferedReader br = null;
        try { …
Run Code Online (Sandbox Code Playgroud)

java hadoop mapreduce file bufferedreader

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