Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将文件流输入到字符串_Java - Fatal编程技术网

Java 将文件流输入到字符串

Java 将文件流输入到字符串,java,Java,我有以下逻辑来打开文件: 除此之外,我想做的不仅仅是在屏幕上打印文件,而是获取一行并将其存储到名为test的字符串中 有人能帮我吗 // fetch the file String filename = "companySecret.txt"; String filepath = "C:\\"; String test; java.io.FileInputStream fileInputStream = new java.io.FileInputStream(filepath + filena

我有以下逻辑来打开文件:

除此之外,我想做的不仅仅是在屏幕上打印文件,而是获取一行并将其存储到名为test的字符串中

有人能帮我吗

// fetch the file
String filename = "companySecret.txt";
String filepath = "C:\\";
String test;

java.io.FileInputStream fileInputStream = new java.io.FileInputStream(filepath + filename);

int i;

while ((i=fileInputStream.read()) != -1) 
{

    System.out.write(i);
}

fileInputStream.close();

使用
StringBuilder
而不是
String

然后

然后在你的while循环中

  test.append("your String");
或者,您可以使用
String
,如下所示

 String test=new String();

  test +=your_String;
试试这个

   Scanner sc=new Scanner(new FileReader("D:\\Test.txt"));
   StringBuilder test=new StringBuilder();
   String str;
   while (sc.hasNext()){
       str=sc.next();
       System.out.println(str);
       test.append(str);
   }
读特定行

   import java.io.BufferedReader;
   import java.io.FileReader;
   import java.io.IOException;
   public class Read {
   public static void main(String[] args) throws IOException {
   FileReader fr=new FileReader("D:\\Test.txt");
   BufferedReader br=new BufferedReader(fr);
   StringBuilder test=new StringBuilder();
   String str;
   int count=1;
   while ((str=br.readLine())!=null){
       if(count==1){
           System.out.println(str);
           test.append(str);
       }
         count++;
   }
}
}

使用
StringBuilder
而不是
String

然后

然后在你的while循环中

  test.append("your String");
或者,您可以使用
String
,如下所示

 String test=new String();

  test +=your_String;
试试这个

   Scanner sc=new Scanner(new FileReader("D:\\Test.txt"));
   StringBuilder test=new StringBuilder();
   String str;
   while (sc.hasNext()){
       str=sc.next();
       System.out.println(str);
       test.append(str);
   }
读特定行

   import java.io.BufferedReader;
   import java.io.FileReader;
   import java.io.IOException;
   public class Read {
   public static void main(String[] args) throws IOException {
   FileReader fr=new FileReader("D:\\Test.txt");
   BufferedReader br=new BufferedReader(fr);
   StringBuilder test=new StringBuilder();
   String str;
   int count=1;
   while ((str=br.readLine())!=null){
       if(count==1){
           System.out.println(str);
           test.append(str);
       }
         count++;
   }
}
}
我建议您使用该类并使用ReadLine方法从文件中提取行

// fetch the file
String filename = "companySecret.txt";
String filepath = "C:\\";
String test;

java.io.FileReader fileInputReader = new java.io.FileReader(filepath + filename);
java.io.BufferedReader input = new java.io.BufferedReader( fileInputReader );


while ((test=input.readLine()) != null) 
{
    // Do something with the line...
}

fileInputStream.close();
我建议您使用该类并使用ReadLine方法从文件中提取行

// fetch the file
String filename = "companySecret.txt";
String filepath = "C:\\";
String test;

java.io.FileReader fileInputReader = new java.io.FileReader(filepath + filename);
java.io.BufferedReader input = new java.io.BufferedReader( fileInputReader );


while ((test=input.readLine()) != null) 
{
    // Do something with the line...
}

fileInputStream.close();
使用:

使用:



在JSP文件中而不是在Java类中编写Java代码,并且该Java代码存在问题并不意味着它是一个JSP问题。我从问题中去掉了无关的JSP噪音。这毕竟只是基本的Java。顺便说一句,当您在java方面遇到问题时,使用“java”关键字而不是“jsp”关键字进行搜索时,您也会获得更好的点击率。只有当您对
之外的任何JSP代码有问题时,如
${someEl}
,我们才能讨论真正的JSP问题。将变量
i
重命名为
test
,您就可以it@jalynn2错
read()在JSP文件而不是Java类中编写Java代码,并且该Java代码出现问题并不意味着它是JSP问题。我从问题中去掉了无关的JSP噪音。这毕竟只是基本的Java。顺便说一句,当您在java方面遇到问题时,使用“java”关键字而不是“jsp”关键字进行搜索时,您也会获得更好的点击率。只有当您对
之外的任何JSP代码有问题时,如
${someEl}
,我们才能讨论真正的JSP问题。将变量
i
重命名为
test
,您就可以it@jalynn2错
read()天啊。这将不会编译。B/如果您这样做(通过使用append和实例化字符串生成器),它将显示一个整数列表,表示文件每个字节的值。完全无法理解。(这是因为read返回的是int,而不是字节或字符)。我的评论的第二部分仍然有效。由于某些原因,它不喜欢StringBuilder,我得到以下错误:内部Servlet错误:org.apache.jasper.jaspereException:无法为JSPNote编译类:sun.tools.javac.Main已被弃用。@Ruchira您的任何编辑都不包含任何编译代码。你一直在写
apend
,而不是
append
,在这一点上,你的任何编辑都没有显示问题的解决方案。omg。这将不会编译。B/如果您这样做(通过使用append和实例化字符串生成器),它将显示一个整数列表,表示文件每个字节的值。完全无法理解。(这是因为read返回的是int,而不是字节或字符)。我的评论的第二部分仍然有效。由于某些原因,它不喜欢StringBuilder,我得到以下错误:内部Servlet错误:org.apache.jasper.jaspereException:无法为JSPNote编译类:sun.tools.javac.Main已被弃用。@Ruchira您的任何编辑都不包含任何编译代码。您继续编写
apend
而不是
append
,此时,您所做的任何编辑都没有显示问题的解决方案。内部Servlet错误:使用StringBuilder时,我遇到以下错误:org.apache.jasper.jaspereException:无法为JSPNote编译类。注意:sun.tools.javac.Main已被弃用。@user2561610表明您的开发环境存在完全不同的问题。@Mr.Beer:我发现readLine()很难使用,因为它会删除换行符。当然,您可以在连接行时插入这些行,但是您不知道文件中使用了哪一行(\n vs.\r\n)。@f1sh True,您不知道文件中使用了什么。但是你真的需要吗?如果需要,我通常使用
line.separator
JAVA属性重新插入换行符。@Mr.Beer“您真的需要吗”-是的,您希望文件的内容不做任何更改。使用您的方法,您可以操纵这些内容。请注意,
line.separator
包含执行环境的换行变量,它与文件包含的变量无关。使用windows保存该文件并在unix计算机上打开它,您就知道了区别。内部Servlet错误:使用StringBuilder时出现以下错误:org.apache.jasper.jaspereException:无法为JSPNote编译类。注意:sun.tools.javac.Main已被弃用。@user2561610表明您的开发中存在完全不同的问题environment.@Mr.Beer:我发现readLine()很难使用,因为它会删除换行符。当然,您可以在连接行时插入这些行,但是您不知道文件中使用了哪一行(\n vs.\r\n)。@f1sh True,您不知道文件中使用了什么。但是你真的需要吗?如果需要,我通常使用
line.separator
JAVA属性重新插入换行符。@Mr.Beer“您真的需要吗”-是的,您希望文件的内容不做任何更改。使用您的方法,您可以操纵这些内容。请注意,
line.separator
包含执行环境的换行变量,它与文件包含的变量无关。使用windows保存文件并在unix计算机上打开,然后