Чтение из файла и создание файла с этим именем
Код, считывающий слово из файла, создает файл с этим именем и записывает содержимое
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; public class FileWriteHtmlWithFor { public static void main(String[] args) { BufferedWriter bw = null; FileWriter fw = null; BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { BufferedReader in = new BufferedReader(new java.io.FileReader("F:\\words.txt")); String str; String fileName = "F:\\words.txt"; List<String> Satellite = Files.readAllLines(Paths.get(fileName), Charset.defaultCharset()); for(String Ad : Satellite) { String FILENAME = "F:\\"+Ad+".html"; try { System.out.print("Word: " + Ad); String French = reader.readLine(); System.out.print("WordA: "); String WordA = reader.readLine(); System.out.print("WordB: "); String WordB = reader.readLine(); System.out.print("WordC: "); String WordC = reader.readLine(); System.out.print("WordD: "); String WordD = reader.readLine(); System.out.print("a: "); String a = reader.readLine(); System.out.print("b: "); String b = reader.readLine(); System.out.print("c: "); String c = reader.readLine(); System.out.print("d: "); String d = reader.readLine(); fw = new FileWriter(FILENAME); bw = new BufferedWriter(fw); bw.write("<html>"); bw.write("<head>"); bw.write("<script src='https://code.jquery.com/jquery-1.12.4.min.js'>"); bw.write("</script>"); bw.write("<script type='text/javascript'>"); bw.write("$(document).ready(function(){"); bw.write("$('#btnGetValue').click(function() {"); bw.write("var selValue = $('input[name=rbnNumber]:checked').val();"); bw.write("$('p').html('<br/> ' + selValue + '');"); bw.write("});"); bw.write("});"); bw.write("</script>"); bw.write("<script>"); bw.write("function buttonClickHandler()"); bw.write("{"); bw.write("}"); bw.write("</script>"); bw.write("<Table align='center' color = 'cyan'>"); bw.write("<TR>"); bw.write("<TD align = 'center' width ='145'>"); bw.write(Ad); // bw.write(WordA); // bw.write(WordB); // bw.write(WordC); // bw.write(WordD); // bw.write("Android is Advanaced Java"); bw.write("</TD>"); bw.write("</TR>"); bw.write("<TR>"); bw.write("<TD width ='45'>"); bw.write("<input type='radio' name='rbnNumber' value='You selected (a) " + WordA + " which is "+ a +" the correct answer' />(a) " + WordA + "<br/>"); bw.write("</TD>"); bw.write("</TR>"); bw.write("<TR>"); bw.write("<TD>"); bw.write("<input type='radio' name='rbnNumber' value='You selected (a) " + WordB + " which is "+ b +" the correct answer' />(a) " + WordB + "<br/>"); bw.write("</TD>"); bw.write("</TR>"); bw.write("<TR>"); bw.write("<TD>"); bw.write("<input type='radio' name='rbnNumber' value='You selected (a) " + WordC + " which is "+ c +" the correct answer' />(a) " + WordC + "<br/>"); bw.write("</TD>"); bw.write("</TR>"); bw.write("<TR>"); bw.write("<TD>"); bw.write("<input type='radio' name='rbnNumber' value='You selected (a) " + WordD + " which is "+ d +" the correct answer' />(a) " + WordD + "<br/>"); bw.write("</TD>"); bw.write("</TR>"); bw.write("</Table>"); bw.write("<Table align = 'center'>"); bw.write("<TR>"); bw.write("<TD>"); bw.write("<input type='button' id='btnGetValue' Value='Get Value' />"); bw.write("</TR>"); bw.write("</TD>"); bw.write("</Table>"); bw.write("<Table align = 'center'>"); bw.write("<TR>"); bw.write("<TD>"); bw.write("<p></p>"); bw.write("</TR>"); bw.write("</TD>"); bw.write("</Table>"); bw.write("<Title>"); bw.write(Ad); bw.write("</Title>"); bw.write("</html>"); } catch(IOException d) { d.printStackTrace(); } finally{ try { if (bw != null) bw.close(); if (fw != null) fw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } } catch(IOException d) { d.printStackTrace(); } finally { try { if (bw != null) bw.close(); if (fw != null) fw.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }
Что я уже пробовал:
классы java, рефакторинг кода. до недавнего времени он работал нормально, но теперь выдает ошибку
java.io.FileNotFoundException: F:\Wonderful .html (The filename, directory name, or volume label syntax is incorrect) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.<init>(FileOutputStream.java:213) at java.io.FileOutputStream.<init>(FileOutputStream.java:101) at java.io.FileWriter.<init>(FileWriter.java:63) at html.FileWriteHtmlWithFor.main(FileWriteHtmlWithFor.java:65)
OriginalGriff
И что же?
Что он делает такого, чего вы не ожидали, или не делает того, что вы сделали?
Где ты застрял?
Какая помощь вам нужна?
Richard MacCutchan
Это сообщение об ошибке является вполне явным. Я бы посоветовал вам удалить все эти пробелы в имени файла.
0x01AA
Почему пробелы должны быть проблемой в именах файлов? По крайней мере, для Windows "1 . txt" - это допустимое имя файла. Начальные и конечные пробелы игнорируются файловой системой Windows.
Richard MacCutchan
Да, но если вы попробуете сделать это с Java, то получите вышеприведенное сообщение об ошибке. Попробуйте обойтись без пробелов, и все будет в порядке. Я попробую то же самое с C++ и C#, чтобы увидеть, как они ведут себя.
Richard MacCutchan
Та же проблема и с C/C++. Очевидно, Проводник Windows нашел способ обойти это. Я могу попытаться выяснить, как это сделать.
0x01AA
Это интересно, спасибо за информацию. Может быть, это как-то связано с именами файлов Unicode vs Ansi.
[Редактировать]
Просто попробовал это сделать с помощью c++ (bolrand c++ builder), никаких проблем с именем файла "1 . txt".
Richard MacCutchan
Вы правы, я просто попробовал его с именем Unicode, и он работает.
0x01AA
Большое вам спасибо за ваши отзывы. Я думаю, что есть также много того, что происходит за сценой при использовании той или иной библиотеки fio.
Richard MacCutchan
Взгляните на мой последний ответ.
solar os
именем на самом деле слово Андроид и прекрасные, которые являются n слов в блокноте файл
читатель читает эти слова и создает файлы с этим именем
Richard MacCutchan
Нет, это не так. Как ypu ясно видно из сообщения об ошибке имя файла F:\Wonderful .html
И все эти пространства являются причиной проблемы.
0x01AA
Проверьте свое имя файла. Похоже, он содержит символы табуляции.