J'utilisais DataOutputStream
en Java aujourd'hui, mais ça me donnait une sortie en chinois, ce n'était absolument PAS ce que je m'attendais ... Quelqu'un peut-il repérer l'erreur dans le code?L'utilisation de DataOutputStream en Java donne une sortie chinoise
private void generateButtonActionPerformed(java.awt.event.ActionEvent evt) {
textToSet=" Student Information";
textToSet=textToSet+"\nName\t: "+TitleBox.getSelectedItem()+" "+FirstNameField.getText()+" "+LastNameField.getText();
textToSet=textToSet+"\nClass\t: "+ClassField.getText();
TextArea.setText(textToSet);
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
try{
File f=new File("C:\\Users\\username\\Desktop\\ID Card.txt");
DataOutputStream fs=new DataOutputStream(new BufferedOutputStream(new FileOutputStream(f)));
fs.writeUTF(textToSet);
Desktop d=Desktop.getDesktop();
d.open(f);
fs.close();
}
catch(Exception e){
e.printStackTrace();
}
}
TitleBox
est un JComboBox
, FirstNameField
, LastNameField
et ClassField
sont JTextField
« s. TextArea
est un JTextArea
.
Quand je choisis "M." dans TitleBox
, tapez « homme » dans FirstNameField
, « Ly » dans LastNameField
et « 7 » en ClassField
, je reçois la sortie:
Student Information
Name : Mr. Man Ly
Class : 7th
dans le TextArea, mais dans le fichier, IDCard.txt, je reçois la sortie:
㠀†††匠畴敤瑮䤠普牯慭楴湯上浡॥›牍慍祌䌊慬獳㨉㜠桴
textToSet
est une variable String
définie dans la portée du public ... quelqu'un peut-il me diriger dans la bonne direction? Y at-il un problème avec le code writeUTF()
?
Cela a fonctionné !!! Merci pour la réponse claire et concise. – AbhigyanC