Считал данные из файла, русские символы превратились в квадраты когда печатал их в консоль, думал что в файл запишу будет ок, но там тоже квадраты
читаю таким файл utf-8 такого вида:
Z:\Автоматизация\музыка для радио \Solarsoul\[2013] Defying Gravity [AR0003] WEB\11. Solarsoul - UDFy (13 Billion Light Years From Earth).mp3
633.6062585034014
Z:\Автоматизация\музыка для радио \Solarsoul\[2013] Defying Gravity [AR0003] WEB\02. Solarsoul - About Eternal Wandering and About The Earth (Memory of Ray Bradbury).mp3
613.564081632653
Z:\Автоматизация\музыка для радио \Solarsoul\[2013] Defying Gravity [AR0003] WEB\01. Solarsoul - A Star Is Born (Original Mix).mp3
328.80625850340135
Z:\Автоматизация\музыка для радио \Solarsoul\[2013] Defying Gravity [AR0003] WEB\14. Solarsoul - Defying Gravity (Nale Remix).mp3
304.99410430839004
...
код построчно
try {
File file = new File("C:\\Users\\User\\source\\repos\\Project1\\Project1\\playlist4.m3u8");
//создаем объект FileReader для объекта File
FileReader fr = new FileReader(file);
//создаем BufferedReader с существующего FileReader для построчного считывания
BufferedReader reader = new BufferedReader(fr);
// считаем сначала первую строку
Type tmp = new Type();
tmp.length = (float) 0.0;
tmp.name = "";
String line = reader.readLine();
while (line != null) {
tmp.name = line;
line = reader.readLine();
tmp.length = Float.parseFloat(line);
music.add(tmp);
//System.out.println(tmp.name+"\n"+tmp.length);
// считываем остальные строки в цикле
line = reader.readLine();
tmp = new Type();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
записываю так
try(FileWriter writer = new FileWriter("playlist.m3u8", false))
{
writer.write("#EXTM3U\n");
for (int i = 0; i < vec.size(); i++)
{
writer.write("#EXTINF:");
writer.write((int)vec.get(i).length);
writer.write(",");
writer.write(vec.get(i).name);
writer.write("\n");
writer.write(vec.get(i).name);
writer.write("\n");
}
writer.flush();
}
catch(IOException ex){
System.out.println(ex.getMessage());
}