Read a file character by character/UTF8: Difference between revisions

m
→‎{{header|Wren}}: Changed to Wren S/H
m (→‎{{header|Wren}}: Changed to Wren S/H)
 
(11 intermediate revisions by 2 users not shown)
Line 370:
 
=={{header|Java}}==
The ''FileReader'' class offers a ''read'' method which will return the integer value of each character, upon each call.<br />
 
When the end of the stream is reached, -1 is returned.<br />
You can implement this task by enclosing a ''FileReader'' within a class, and generating a new character via a method return.
<syntaxhighlight lang="java">
import java.io.FileReader;
Line 376 ⟶ 378:
import java.nio.charset.StandardCharsets;
 
public class MainProgram {
private final FileReader reader;
 
public static void mainProgram(String[] argspath) throws IOException {
try ( FileReader reader = new FileReader("input.txt"path, StandardCharsets.UTF_8UTF_16) ) {;
final int endOfFile = -1;
}
 
try ( FileReader reader = new FileReader("input.txt", StandardCharsets.UTF_8) ) {
/** @return integer value from 0 to 0xffff, or -1 for EOS */
while ( true ) {
public int nextCharacter() throws IOException {
int ch = reader.read();
if ( ch == endOfFilereturn reader.read() {;
break;}
 
}
public void close() throws IOException {
int ch = reader.readclose();
System.out.println(Character.toChars(ch));
}
}
}
}
</syntaxhighlight>
 
===Using Java 11===
<syntaxhighlight lang="java">
import java.io.BufferedReader;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
 
public final class ReadFileByCharacter {
public static void main(String[] aArgs) {
Path path = Path.of("input.txt");
}
try ( BufferedReader reader = Files.newBufferedReader(path, StandardCharsets.UTF_8) ) {
int value;
while ( ( value = reader.read() ) != END_OF_STREAM ) {
System.out.println(Character.toChars(chchar) value);
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
private static final int END_OF_STREAM = -1;
 
}
</syntaxhighlight>
{{ out }}
<pre>
R
o
s
e
t
t
a
</pre>
 
=={{header|jq}}==
Line 1,405 ⟶ 1,444:
 
=={{header|Wren}}==
<syntaxhighlight lang="ecmascriptwren">import "io" for File
 
File.open("input.txt") { |file|
9,485

edits