2012-11-13 13 views

Odpowiedz

2

Możesz konwertować w tablicy znaków.

import java.io.*; 
import java.util.Scanner; 


public class ScanXan { 
    public static void main(String[] args) throws IOException { 
     Scanner s = null; 
     try { 
      s = new Scanner(new BufferedReader(new FileReader("yourFile.txt"))); 
      while (s.hasNext()) 
      { 
       String str = s.next(); 
       char[] myChar = str.toCharArray(); 
       // do something 
      } 
     } finally { 
      if (s != null) { 
       s.close(); 
      } 
     } 
    } 
+0

to nie działało z użyciem s.toCharArray i musiałem utworzyć zmienną łańcuchową, a następnie użyć tego z funkcją toCharArray(), ale dziękuję ci bardzo pomogło! – Gcap

6

Jeśli masz aby użyć Scanner (jak zauważył w swojej Edit), spróbuj tego:

myScanner.useDelimiter("(?<=.)"); 

Teraz myScanner powinien przeczytać znak po znaku.


Możesz też zamiast używać BufferedReader (jeśli to możliwe) - ma read metody, które odczytuje jeden znak. Na przykład, będzie to przeczytać i wydrukować pierwszą literę swojego pliku:

BufferedReader br = new BufferedReader(new FileReader("somefile.txt")); 
System.out.println((char)br.read()); 
br.close(); 
+2

+1 dla "BufferedReader". –

2

podzielić wiersz na znaki przy użyciu String.toCharArray().

0

Jeśli chcesz używać Scanner, możesz użyć next(String pattern).

String character = scanner.next("."); 

Powyższy zwraca String o długości 1 - czyli masz postać, ale jako ciąg znaków.