Sumulat sa file ang Java

Java Write File



Para pansamantala o permanenteng mag-imbak ng data para sa mga layunin sa pagprograma, kailangan naming magsulat ng data sa isang file. Maraming mga klase at pamamaraan sa Java upang magsulat ng data sa isang file. Kung paano maaaring magamit ang iba't ibang mga klase at pamamaraan sa Java upang magsulat ng data sa isang file na ipinapakita sa tutorial na ito.

Ang ilang mga kinakailangang klase at pamamaraan para sa pagsulat ng file:

paraan ng pagsulat ():

Ang pamamaraang ito ay sinusuportahan ng bersyon ng Java 11. Maaari itong tumagal ng apat na mga parameter. Ito ang file path, pagkakasunud-sunod ng character, charset, at mga pagpipilian. Ang unang dalawang mga parameter ay sapilitan para sa pamamaraang ito upang magsulat sa isang file. Sinusulat nito ang mga character bilang nilalaman ng file. Ibinabalik nito ang file path at maaaring magtapon ng apat na uri ng mga pagbubukod. Mas mahusay na gamitin kapag ang nilalaman ng file ay maikli.







ClassWriter Class:

Kung ang nilalaman ng file ay maikli, pagkatapos ay ginagamit ang FileWriter klase upang magsulat sa file ay isa pang mas mahusay na pagpipilian. Nagsusulat din ito ng stream ng mga character bilang nilalaman ng file na gusto sumulatString () pamamaraan Tinutukoy ng tagabuo ng klase na ito ang default na pag-encode ng character at ang laki ng default na buffer sa mga byte.



BufferedWriter Class:

Ginagamit ito upang magsulat ng teksto sa isang stream ng character-output. Mayroon itong isang default na laki ng buffer, ngunit ang malaking laki ng buffer ay maaaring italaga. Ito ay kapaki-pakinabang para sa pagsusulat ng character, string, at array. Mas mahusay na balutin ang klase na ito sa anumang klase ng manunulat para sa pagsulat ng data sa isang file kung walang kinakailangang agarang output.



FileOutputStream Class:

Ginagamit ito upang isulat ang hilaw na data ng stream sa isang file. Ang mga klase ng FileWriter at BufferedWriter ay ginagamit upang isulat lamang ang teksto sa isang file, ngunit ang data ng binary ay maaaring nakasulat sa pamamagitan ng paggamit ng klase ng FileOutputStream.





Ang mga sumusunod na halimbawa ay nagpapakita ng paggamit ng nabanggit na pamamaraan at mga klase.

Halimbawa-1: Sumulat sa isang file gamit ang writeString () na pamamaraan

Ipinapakita ng sumusunod na halimbawa ang paggamit ng ang sumulatString () pamamaraan na nasa ilalim Mga file klase upang magsulat ng data sa isang file. Ibang klase, Landas, ay ginagamit upang italaga ang filename na may isang landas kung saan isusulat ang nilalaman. Mga file klase ay may isa pang pamamaraan na pinangalanan readString () upang basahin ang nilalaman ng anumang umiiral na file na ginagamit sa code upang suriin ang nilalaman ay maayos na nakasulat sa file.



angkat java.nio.file.Files;
angkat java.nio.file.Path;
angkat java.io.IOException;

pampubliko klasefwrite1{

pampubliko static walang bisapangunahing( String []mga argumento) nagtatapon IOException
{
// Italaga ang nilalaman ng file
String text= 'Maligayang pagdating sa Linuxhint nAlamin ang java mula sa pangunahing ';

// Tukuyin ang pangalan ng file ng file
Path fileName=Landasng('file1.txt');

// Isulat sa file
Mga file.sumulatString(fileName, teksto);

// Basahin ang nilalaman ng file
String file_content=Mga file.basahinString(fileName);

// I-print ang nilalaman ng file
Sistema .palabas.println(file_content);
}
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos patakbuhin ang code. Dito, dalawang linya ang nakasulat sa file na ipinakita sa output.

Halimbawa-2: Sumulat sa isang file gamit ang klase ng FileWriter

Ipinapakita ng sumusunod na halimbawa ang paggamit ng klase ng FileWriter upang magsulat ng nilalaman sa isang file. Kinakailangan upang likhain ang object ng klase ng FileWriter na may filename upang magsulat sa isang file. Susunod, ang sumulat () ginagamit ang pamamaraan upang isulat ang halaga ng text variable sa file. Kung may anumang error na naganap sa pagsulat ng file, pagkatapos ay itatapon ang isang IOexception, at mai-print ang mensahe ng error mula sa catch block.

// Mag-import ng mga kinakailangang package
angkat java.io.FileWriter;
angkat java.io.IOException;

pampubliko klasefwrite2{

pampubliko static walang bisapangunahing( String []mga argumento) {

// Italaga ang nilalaman ng file
String text= 'Ang pinakabagong bersyon ng Java ay naglalaman ng mahahalagang pagpapahusay
upang mapabuti ang pagganap, '
+ 'katatagan at seguridad ng Java
mga application na tumatakbo sa iyong machine. '
;
subukan mo
{
// Lumikha ng isang bagay na FileWriter upang isulat sa file
FileWriter fSusulat= bago FileWriter ('file2.txt');

// Isulat sa file
fSusulat.sumulat(text);

// I-print ang mensahe ng tagumpay
Sistema .palabas.mag-print('Matagumpay na nilikha ang file kasama ang nilalaman.');

// Isara ang object ng manunulat ng file
fSusulat.malapit na();
}
mahuli ( IOException At)
{
// I-print ang mensahe ng error
Sistema .palabas.mag-print(At.getMessage());
}
}
}

Output:

Kung ang nilalaman ng file ay matagumpay na nakasulat sa file, pagkatapos ay lilitaw ang sumusunod na output. Maaari mong suriin ang folder ng proyekto upang kumpirmahing ang file ay nilikha nang maayos o hindi.

Halimbawa-3: Sumulat sa isang file gamit ang klase ng BufferedWriter

Ipinapakita ng sumusunod na halimbawa ang paggamit ng klase ng BufferedWriter upang magsulat sa isang file. Kailangan din nito upang likhain ang object ng klase ng BufferedWriter tulad ng FileWriter upang magsulat ng nilalaman sa file. Ngunit sinusuportahan ng klase na ito ang malaking nilalaman upang sumulat sa file sa pamamagitan ng paggamit ng isang malaking laki ng buffer.

angkat java.io.BufferedWriter;
angkat java.io.FileWriter;
angkat java.io.IOException;
pampubliko klasefwrite3{

pampubliko static walang bisapangunahing( String []mga argumento) {

// Italaga ang nilalaman ng file
String text= 'Dagdagan ang Java ng madali mula sa LinuxHint';

subukan mo {

// Lumikha ng isang object ng BufferedWriter
BufferedWriter f_writer= bago BufferedWriter (bago FileWriter ('file3.txt'));
f_writer.sumulat(text);

// I-print ang mensahe ng tagumpay
Sistema .palabas.mag-print('Matagumpay na nilikha ang file kasama ang nilalaman.');

// Isara ang bagay na BufferedWriter
f_writer.malapit na();
}
mahuli ( IOException At)
{
// I-print ang mensahe ng error
Sistema .palabas.mag-print(At.getMessage());
}
}
}

Output:

Kung ang nilalaman ng file ay matagumpay na nakasulat sa file, pagkatapos ay lilitaw ang sumusunod na output. Maaari mong suriin ang folder ng proyekto upang kumpirmahing ang file ay nilikha nang maayos o hindi.

Halimbawa-4: Sumulat sa isang file gamit ang klase ng FileOutputStream

Upang isulat ang data sa isang file gamit ang klase ng FileOutputStream ay ipinapakita sa sumusunod na halimbawa. Kailangan din nito upang likhain ang object ng klase na may filename upang magsulat ng data sa isang file. Dito, ang nilalaman ng string ay na-convert sa byte array na nakasulat sa file sa pamamagitan ng paggamit ng sumulat () pamamaraan

angkat java.io.FileOutputStream;
angkat java.io.IOException;

pampubliko klasefwrite4{

pampubliko static walang bisapangunahing( String []mga argumento) {

// Italaga ang nilalaman ng file
String nilalaman ng file= 'Maligayang pagdating sa LinuxHint';

subukan mo {
// Lumikha ng isang object ng FileOutputStream
FileOutputStream outputStream= bago FileOutputStream ('file4.txt');

// mag-imbak ng nilalaman na byte mula sa string
byte[]strToBytes=nilalaman ng filegetBytes();

// Isulat sa file
outputStream.sumulat(strToBytes);

// I-print ang mensahe ng tagumpay
Sistema .palabas.mag-print('Matagumpay na nilikha ang file kasama ang nilalaman.');

// Isara ang bagay
outputStream.malapit na();
}
mahuli ( IOException At)
{
// I-print ang mensahe ng error
Sistema .palabas.mag-print(At.getMessage());
}
}
}

Output:

Kung ang nilalaman ng file ay matagumpay na nakasulat sa file, pagkatapos ay lilitaw ang sumusunod na output. Maaari mong suriin ang folder ng proyekto upang kumpirmahing ang file ay nilikha nang maayos o hindi.

Konklusyon:

Ang maramihang mga paraan upang magsulat sa isang file ay ipinapakita sa tutorial na ito sa pamamagitan ng paggamit ng iba't ibang mga klase sa Java. Maaaring pumili ang gumagamit ng anuman sa mga klase na nabanggit dito upang sumulat sa isang file batay sa nilalaman ng file.