标签: bufferedreader

程序在 bufferedreader 关闭时冻结

关闭缓冲读取器时程序冻结。使用 forge modding API 进行我的世界,但是我之前在使用独立服务器端代码时遇到过这个问题。这个特定的代码工作正常,然后随机开始给我这个问题,不知道如何解决这个问题..

关闭方法:

public static void closeConnection() {
    if (keepConnection) {
        keepConnection = false;

        try {

            bufferedReader.close();
            printWriter.close();
            socket.close();
        }
        catch (IOException e) {

            e.printStackTrace();
        }

        finally{

            token = null;
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我已经检查以确保这确实是发生冻结的地方。有任何想法吗?

java sockets crash buffered bufferedreader

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

Java 默认为 BufferedReader 使用什么编码/字符集?

BufferedReader当我们创建一个新对象而不显式提供编码时,Java 默认使用什么编码/字符集?

例如:

try (final BufferedReader reader = new BufferedReader(new FileReader("my_file.txt"))) {
  reader.readLine(); // What encoding is used to read the file?
}
Run Code Online (Sandbox Code Playgroud)

java encoding bufferedreader

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

"BufferedReader.ready"与"while(BufferedReader.readLine()!= null)"

对于java来说,我是新手.我想从java中启动的进程中读取stdout.我在谷歌搜索时得到以下代码:

    Runtime rt = Runtime.getRuntime();
    Process proc = rt.exec(args);
    BufferedReader br = new BufferedReader(
        new InputStreamReader(proc.getInputStream()));
    while(br.ready()){
            System.out.println(br.readLine());
    }
Run Code Online (Sandbox Code Playgroud)

但是,此代码不会打印进程(例如,ls)应该生成的输出(顺便说一下,我在Linux上,openJDK 1.6)

但是,如果我将while循环更改为:

    String line;
    while((line = br.readLine())!=null){
            System.out.println(line);
    }
Run Code Online (Sandbox Code Playgroud)

它按预期工作.

以前的代码有什么问题?根据java api doc所说的,我认为它们是相似的.

java bufferedreader

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

防止BufferedReader关闭文件以获取文件列表

我有一个扩展BufferedReader的类,并且文件流列表b.close()被除最后一个流之外的所有文件调用,我想保持流打开。我该怎么做?

谢谢

类TestReader(BufferedReader):
    通过

清晰度测试(流):
    用于流中的流:
        b = TestReader(流)
        do_something(b)
    #除了stream [-1]以外的所有流都关闭了,如何防止这种情况发生?

stream = [open('test1.txt','rb'),open('test2.txt','rb')]
测试(流)
stream.do_something_else()

python bufferedreader

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

为bufferedReader选择另一个目录中的文件

我有一个初始化文件(initialize.java),它使用fileInputStream从fileInput.txt中提取数据,但它们都位于不同的目录中.

Project/library/initialize.java
Project/resources/text/fileInput.txt
Run Code Online (Sandbox Code Playgroud)

我在initialize.java中的代码是:

FileInputStream fstream = new FileInputStream("/resources/text/fileInput.txt");
Run Code Online (Sandbox Code Playgroud)

但是文件无法读取.我也试过了

FileInputStream fstream = new FileInputStream("./resources/text/fileInput.txt");
Run Code Online (Sandbox Code Playgroud)

但那也行不通.

如何访问txt文件以及使用"./resources"和"/ resources"之间的区别是什么?

感谢您阅读本文.

java directory fileinputstream bufferedreader

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

为什么isEmpty()在BufferedReader中跳过很多行?

我正在尝试使用BufferedReader从文本文件中读取.我想跳过一个有"#"和"*"的行,它可以工作.但它不适用于空行.我使用line.isEmpty()但只显示第一个输出.

我的文本文件如下所示:

# Something something
# Something something


# Staff No. 0

*  0  0  1

1 1 1 1 1 1

*  0  1  1

1 1 1 1 1 1

*  0  2  1

1 1 1 1 1 1
Run Code Online (Sandbox Code Playgroud)

我的代码:

StringBuilder contents = new StringBuilder();
    try {
      BufferedReader input =  new BufferedReader(new FileReader(folder));
      try {
        String line = null;
        while (( line = input.readLine()) != null){
          if (line.startsWith("#")) {
              input.readLine(); 
          }
          else if (line.startsWith("*")) {
              input.readLine(); 
          } …
Run Code Online (Sandbox Code Playgroud)

java io text readline bufferedreader

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

Java BufferedReader读取表单套接字不返回null

我目前正在用Java编写一个打开套接字的应用程序,它应该通过它接收和发送数据.

据我所知,BufferedReader.readLine()在缓冲区为空时返回null.但是,我的代码不会从读取BufferedReader中的行的循环中退出.我的想法是,我收到一个歌曲列表,然后将值发送到开始播放歌曲的服务器.

这是代码:

package me.frankvanbever.MediaServerClient;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

        public class MediaServerClient {

            /**
             * @param args
             */
            public static void main(String[] args) {

                    Socket server;
                    try {
                        server = new Socket( "10.42.0.41" , 2626 );

                        InputStream in = server.getInputStream();
                        OutputStream out = server.getOutputStream();

                        BufferedReader bin = new BufferedReader( new InputStreamReader( in ) , 4096);

                        String inputline;
                        while( (inputline = bin.readLine()) != null){

                            System.out.println(inputline);

                        }

                        System.out.println("exited loop");
                        out.write('1');
                    } catch …
Run Code Online (Sandbox Code Playgroud)

java sockets bufferedreader

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

BufferedReader readLine返回值在scala中不被理解为字符串?

虽然我意识到有一些原生的scala方法可以做到以下几点,但是理解这种行为会很有见地.

对于以下代码片段,for循环迭代器不正确:

val br = new BufferedReader(new FileReader("/tmp/test.txt"))
val stdin = new FileOutputStream("/tmp/x.txt")
for (line : String <- br.readLine) {
  //    val mys = new String(line)
  stdin.write(line)
  stdin.write('\n')
}
Run Code Online (Sandbox Code Playgroud)

迭代器行给出以下编译错误:

scrutinee is incompatible with pattern type;
 found   : String
 required: Char
    for (line : String <- br.readLine) {

            ^
Run Code Online (Sandbox Code Playgroud)

scala bufferedreader

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

从文本文件Java中读取一行

我正在尝试使用BufferedReader和Scanner从文件中读取一行.我可以创造这两个没问题.我要做的是读一行,计算该行中逗号的数量,然后返回并抓住每个单独的项目.所以如果文件看起来像这样:

项目1,项目2,项目3,等等.

ITEM4,ITEM5,ITEM6等.

该程序将返回有四个逗号,然后返回并一次获得一个项目.它将重复下一行.返回逗号的数量对我的程序至关重要,否则,我只会使用Scanner.useDelimiter()方法.我也不知道如何返回到行的开头来抓取每个项目.

java bufferedreader java.util.scanner

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

如何从Java中的txt文件中读取sql查询

我有一些正在向数据库发送查询的类.当查询在代码中时,一切都运行正常,但由于它非常大,我决定把它放在一个文件中并用缓冲读取器读取它,但它不起作用,我总是这样:

java.sql.SQLException:ORA-00900:无效的SQL语句

这是我的查询:

SELECT 
             p.first_name           \"FirstName\",  
             p.middle_name          \"MiddleName\",  
             p.last_name            \"LastName\", 
             p.birth_name           \"BirthName\",
             p.mothers_name         \"MothersName\",
             p.nick_name            \"NickName\",
             p.username             \"Username\",
             p.currency_id          \"Currency\",
             p.preferred_language_id    \"PreferredLanguage\",
             p.accepts_email        \"AcceptsEmail\",
             p.birth_date           \"BirthDate\",
             p.hear_about_us        \"HeardAboutUs\",
             p.tax_category_id      \"TaxCategory\",
             p.birth_place          \"BirthPlace\",
             p.accepts_id_verification      \"AcceptsIdentityVerification\",
             p.security_prompt      \"SecurityPrompt\",
             p.gender_id            \"Gender\",
             p.tracking_campaign_name   \"TrackingCampaign\", 
             p.accepts_sms          \"AcceptsSMS\",
             p.accepts_promotional_sms  \"AcceptsPromotionalSMS\", 
             p.identification_number    \"IdentificationNumber\", 
             p.id_verified_id       \"IdentificationVerified\", 
             p.security_word        \"SecurityWord\", 
             p.ident_manual_verified_until  \"IdentificationManualVerified\",
             p.accepts_chat         \"AcceptsChat\", 
             p.frequent_player_level_id     \"FrequentPlayerLevel\", 
             p.preferred_comm_channel   \"PreferredCommunicationChannel\", 
             p.is_reward_abuser         \"IsRewardAbuser\", 
             p.newsletter_id        \"Newsletter\", 
             p.accepts_rewards      \"AcceptsRewards\", 
             ci.postal_code         \"PostalCode\", 
             ci.country_id          \"Country\", 
             ci.region          \"Region\", 
             ci.email           \"Email\",
             ci.address1            \"Address1\", 
             ci.address2            \"Address2\", 
             ci.address3            \"Address3\", 
             ci.phone1          \"Phone1\", …
Run Code Online (Sandbox Code Playgroud)

java sql sql-server oracle bufferedreader

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