Я впервые работаю с файловым вводом / выводом в Java, и он не работает. Раздел программы, в котором я анализирую отдельные строки и выводю строку, разделенную точкой с запятой, работает как талисман, когда я жестко кодирую файл и отображаю его на экране.
Когда я пытаюсь записать в файл public static OutputStream...
ошибки как illegal start to expression
, и я не смог заставить программу пройти через весь каталог файлов вместо одного за раз.
Где мне неясно: я отмечаю, что задаю имя выходного файла где угодно ... где я должен это делать? Переменная пути не пройдет. Какой правильный формат для пути? Кто-нибудь может увидеть, что мне нужно для отладки здесь?
import java.nio.*;
public class FileReadSSCCE
{
public static void main(String args[])
{
try
{
Path startingDir = Paths.get("R:\Data\cs\RoboHelp\CorrLib\Output\Production\WebHelp");
PrintFiles pf = new PrintFiles();
Files.walkFileTree(startingDir, pf);
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String inputLine;
String desc = "";
String docNo = "";
//Read File Line By Line
while ((inputLine = br.readLine()) != null)
{
int testVal=0;
int stringMax = inputLine.length();
//
if(inputLine.startsWith("Description"))
{desc = inputLine.substring(13,inputLine.length());}
else
if(inputLine.startsWith("Reference Number"))
{docNo = inputLine.substring(20,inputLine.length());}
}
// Print the content on the console
String outStr1 = (desc + ";" + docNo);
System.out.print(inputLine + "\n" + outStr1);
String lineItem = (outStr1);
//
try (OutputStream out = new BufferedOutputStream
(logfile.newOutputStream(CREATE, APPEND)))
{
out.write(lineItem, 0, lineItem.length);
}
catch (IOException x)
{
System.err.println(x);
}
public static OutputStream newOutputStream() throws IOException
{
// append to an existing file, create file if it doesn't initially exist
out = Files.newOutputStream((Paths.get("c:\javaout.txt"), CREATE, APPEND);
}
//Close the input stream
in.close();
}
catch (Exception e)
{
//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}