如果你有一个java.io.InputStream对象,你应该如何处理该对象并产生一个String?
假设我有一个InputStream包含文本数据,并且我想将其转换为a String,所以例如我可以将其写入日志文件.
采取InputStream并将其转换为最简单的方法是String什么?
public String convertStreamToString(InputStream is) {
// ???
}
Run Code Online (Sandbox Code Playgroud) 似乎有不同的方法来读取和写入Java中的文件数据.
我想从文件中读取ASCII数据.可能的方式和差异是什么?
我试图将一个简单的文本文件读入一个字符串.当然,通常的方法是获取输入流并使用readLine()进行迭代并将内容读入String.
在过去做过数百次之后,我只是想知道如何在最少的代码行中做到这一点?是不是像java这样的东西String fileContents = XXX.readFile(myFile/*File*/)......而是看起来像这样简单的东西?
我知道像Apache Commons IO这样的库提供了这样的简化,甚至我可以编写一个简单的Util类来实现这一点.但我想知道的是 - 这是一个如此频繁的操作,每个人都需要为什么Java不提供这么简单的功能呢?是不是真的有一个方法可以使用某些默认或指定的编码将文件读入字符串?
我如何使用Scanner该类从控制台读取输入?像这样的东西:
System.out.println("Enter your username: ");
Scanner = input(); // Or something like this, I don't know the code
Run Code Online (Sandbox Code Playgroud)
基本上,我想要的只是让扫描程序读取用户名的输入,并将输入分配给String变量.
我有一个单元测试,需要使用位于的XML文件src/test/resources/abc.xml.获取文件内容的最简单方法是String什么?
我试图使用FileReader读取文件的内容.但我想读取文件而不逐行阅读.是否可以在没有循环的情况下读取整个文件.我使用以下代码
try
{
File ff=new File("abc.txt");
FileReader fr=new FileReader(ff);
String s;
while(br.read()!=-1)
{
s=br.readLine();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud) Java是否有一行读取文本文件,就像C#一样?
我的意思是,在Java中是否存在与此类似的东西?:
String data = System.IO.File.ReadAllText("path to file");
Run Code Online (Sandbox Code Playgroud)
如果不是......这样做的"最佳方式"是什么?
编辑:
我更喜欢Java标准库中的一种方式...我不能使用第三方库..
我需要在android中加载一个xml文件作为String,这样我就可以将它加载到TBXML xml解析器库并解析它.我现在将文件读取为String的实现大约需要2秒,即使对于某些KB的非常小的xml文件也是如此.有没有已知的快速方法可以在Java/Android中将文件读取为字符串?
这是我现在的代码:
public static String readFileAsString(String filePath) {
String result = "";
File file = new File(filePath);
if ( file.exists() ) {
//byte[] buffer = new byte[(int) new File(filePath).length()];
FileInputStream fis = null;
try {
//f = new BufferedInputStream(new FileInputStream(filePath));
//f.read(buffer);
fis = new FileInputStream(file);
char current;
while (fis.available() > 0) {
current = (char) fis.read();
result = result + String.valueOf(current);
}
} catch (Exception e) {
Log.d("TourGuide", e.toString());
} finally {
if (fis != null)
try {
fis.close(); …Run Code Online (Sandbox Code Playgroud) 我正在比较junit中的文本文件:
public static void assertReaders(BufferedReader expected,
BufferedReader actual) throws IOException {
String line;
while ((line = expected.readLine()) != null) {
assertEquals(line, actual.readLine());
}
assertNull("Actual had more lines then the expected.", actual.readLine());
assertNull("Expected had more lines then the actual.", expected.readLine());
}
Run Code Online (Sandbox Code Playgroud)
这是比较文本文件的好方法吗?什么是首选?
我们如何从文本文件中读取数据并存储在String变量中?
是否可以在方法中传递文件名,它将返回String,该字符串是文件中的文本.
我需要导入哪种实用程序?陈述清单会很棒.
java ×9
file ×4
file-io ×4
io ×2
string ×2
android ×1
ascii ×1
compare ×1
inputstream ×1
junit ×1
optimization ×1
stream ×1
text-files ×1
unit-testing ×1