Java 将文件流输入到字符串
我有以下逻辑来打开文件: 除此之外,我想做的不仅仅是在屏幕上打印文件,而是获取一行并将其存储到名为test的字符串中 有人能帮我吗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
// 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计算机上打开,然后