Print result = () -> {
try(FileReader text = new FileReader("C:\\text.txt")) {
while(( c = text.read()) != -1)
{
y += 1;
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
return 0;
}
return y;
};
char[]
необходимо знать его размер, мне бы хотелось создавать переменную с необходимым размером. Именно для этого я в переменной y
подсчитываю количество символов в файле.char[] a = new char[(int)result.Printer()-1];
while(( c = text.read()) != -1)
{
y += 1;
char[] a = c; Вот тут возникает ошибка
char[] a = (char)c; Так тоже не выходит
а как надо?
}
public static void main(String[] args) {
System.err.print(Arrays.toString(test()));
}
private static char[] test(){
StringBuilder sb = new StringBuilder();
try( BufferedReader br = new BufferedReader(new FileReader("D:\\text.txt"))) {
String str;
while( (str = br.readLine()) != null){
sb.append(str);
}
} catch (IOException ex) {
System.out.println(ex.getMessage());
return sb.toString().toCharArray();
}
return sb.toString().toCharArray();
}
}
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Paths;
import java.nio.file.Files;
import java.io.IOException;
public class Main {
public static void main(String agrg[]) throws IOException{
String content = readFile("test.txt", StandardCharsets.UTF_8);
System.out.println(content);
}
static String readFile(String path, Charset encoding)
throws IOException
{
byte[] encoded = Files.readAllBytes(Paths.get(path));
return new String(encoded, encoding);
}
}
char[] symbols = content.toCharArray();
//проверка
for(char ch : symbols)
System.out.println(ch);