java8 - java.nio.charset.MalformedInputException: Input length = 2
大家讲道理
大家讲道理 2017-04-18 10:45:13
0
2
1521
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(2)
小葫芦
public static void main(String[] args) throws IOException {
        File file = new File("/home/yangxiaohuan/Documents/TokenizeThenSplitParallelDeletePatternLTZero.txt");
        InputStreamReader read = new InputStreamReader(new FileInputStream(file), "UTF-8");// 考虑到编码格式
        BufferedReader br = new BufferedReader(read);
        int cnt=0;
        while(br.ready()){
            String text = br.readLine();
            cnt++;
            if(cnt>=47334){
                System.out.println(text);
                }
            System.out.println("cnt = "+cnt);
            }
        }
}

Le code d'origine doit importer les classes suivantes
import java.nio.file.Files;
import java.nio.file.Paths;
Mais changez-le sous cette forme
import java . io.File;
import java.io.FileInputStream;
est normal et il n'y a pas d'erreur.
De plus, certains amis ont dit que la suppression d'un caractère du texte original et de la ligne contenant l'erreur ne provoquerait pas d'erreur. Question très étrange. Je ne sais pas pourquoi il y a un problème avec nio.file.Files

PHPzhong

Merci pour l'invitation. Vous avez peut-être mal compris la différence entre IO et NIO. Le point le plus fondamental est que IO est orienté flux et NIO est orienté tampon. Votre code utilise évidemment les flux BufferedReader et InputStreamReader. Si vous utilisez nio, readLine ne fonctionnera pas du tout. Impossible de lire, NIO ne peut lire que le tampon, analyser la taille du tampon et lors de l'analyse des données, NIO doit payer un prix plus élevé que le blocage du flux IO.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal