java写文件代码(java nio 写文件)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享java写文件代码的知识,其中也会对java nio 写文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

请问用java创建一个TXT文件,文件里写“你好”,代码怎么写

import java.io.File;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.RandomAccessFile;

public class Io{

public static void main(String [] s){

File filename = new File("F:\\suncity.txt");

String filein="你好!";

RandomAccessFile mm = null;

try {

mm = new RandomAccessFile(filename,"rw");

mm.writeBytes(filein);

} catch (IOException e1) {

// TODO 自动生前哗族成 catch 块

e1.printStackTrace();

} finally{

if(mm!=null){

try {

mm.close();

} catch (IOException e2) {

// TODO 自动慧弊生芦悔成 catch 块

e2.printStackTrace();

}

}

}

}

}

用java写个文件加密的代码该怎么写

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

import java.security.*;

import javax.crypto.*;

import javax.crypto.spec.*;

/**

文件名:FileEncrypter.java

JDK:1.40以上

说明:文件加密

加密方法镇答态:三重DES加密

加密过程:对选中的文件加密后在同文件夹下生成一个增加了".tdes"

扩展名的加密文件

解密过程:对选中的加密文件(必御源须有".tdes"扩展名)进行解密

*/

public class FileEncrypter extends JFrame{

public static final int WIDTH = 550;

public static final int HEIGHT = 200;

public static void main(String args[]) {

FileEncrypter fe = new FileEncrypter();

fe.show();

}

FileEncrypter(){

this.setSize(WIDTH,HEIGHT);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false);

Toolkit tk = Toolkit.getDefaultToolkit();

Dimension screenSize = tk.getScreenSize();

this.setLocation((screenSize.width - WIDTH)/2,

(screenSize.height - HEIGHT)/2);

this.setTitle("举备文件加密器(TriDES)");

Container c = this.getContentPane();

c.setLayout( new FlowLayout());

final FilePanel fp = new FilePanel("文件选择");

c.add(fp);

final KeyPanel pp = new KeyPanel("密码");

c.add(pp);

JButton jbE = new JButton("加密");

c.add(jbE);

jbE.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

File file = new File(fp.getFileName());

if (file.exists())

encrypt(file.getAbsoluteFile(),pp.getKey());

else

JOptionPane.showMessageDialog(

null,"请选择文件!","提示",JOptionPane.OK_OPTION);

}

});

JButton jbD = new JButton("解密");

c.add(jbD);

jbD.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent event){

File file = new File(fp.getFileName());

if (file.exists())

decrypt(file.getAbsoluteFile(),pp.getKey());

else

JOptionPane.showMessageDialog(

null,"请选择文件!","提示",JOptionPane.OK_OPTION);

}

});

}

/**

加密函数

输入:

要加密的文件,密码(由0-F组成,共48个字符,表示3个8位的密码)如:

AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746

其中:

AD67EA2F3BE6E5AD DES密码一

D368DFE03120B5DF DES密码二

92A8FD8FEC2F0746 DES密码三

输出:

对输入的文件加密后,保存到同一文件夹下增加了".tdes"扩展名的文件中。

*/

private void encrypt(File fileIn,String sKey){

try{

if(sKey.length() == 48){

byte[] bytK1 = getKeyByStr(sKey.substring(0,16));

byte[] bytK2 = getKeyByStr(sKey.substring(16,32));

byte[] bytK3 = getKeyByStr(sKey.substring(32,48));

FileInputStream fis = new FileInputStream(fileIn);

byte[] bytIn = new byte[(int)fileIn.length()];

for(int i = 0;iFILEIN.LENGTH();I++){

bytIn[i] = (byte)fis.read();

}

//加密

byte[] bytOut = encryptByDES(encryptByDES(

encryptByDES(bytIn,bytK1),bytK2),bytK3);

String fileOut = fileIn.getPath() + ".tdes";

FileOutputStream fos = new FileOutputStream(fileOut);

for(int i = 0;iBYTOUT.LENGTH;I++){

fos.write((int)bytOut[i]);

}

fos.close();

JOptionPane.showMessageDialog(

this,"加密成功!","提示",JOptionPane.OK_OPTION);

}else

JOptionPane.showMessageDialog(

this,"密码长度必须等于48!","错误信息",JOptionPane.ERROR_MESSAGE);

}catch(Exception e){

e.printStackTrace();

}

}

/**

解密函数

输入:

要解密的文件,密码(由0-F组成,共48个字符,表示3个8位的密码)如:

AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746

其中:

AD67EA2F3BE6E5AD DES密码一

D368DFE03120B5DF DES密码二

92A8FD8FEC2F0746 DES密码三

输出:

对输入的文件解密后,保存到用户指定的文件中。

*/

private void decrypt(File fileIn,String sKey){

try{

if(sKey.length() == 48){

String strPath = fileIn.getPath();

if(strPath.substring(strPath.length()-5).toLowerCase().equals(".tdes"))

strPath = strPath.substring(0,strPath.length()-5);

else{

JOptionPane.showMessageDialog(

this,"不是合法的加密文件!","提示",JOptionPane.OK_OPTION);

return;

}

JFileChooser chooser = new JFileChooser();

chooser.setCurrentDirectory(new File("."));

chooser.setSelectedFile(new File(strPath));

//用户指定要保存的文件

int ret = chooser.showSaveDialog(this);

if(ret==JFileChooser.APPROVE_OPTION){

byte[] bytK1 = getKeyByStr(sKey.substring(0,16));

byte[] bytK2 = getKeyByStr(sKey.substring(16,32));

byte[] bytK3 = getKeyByStr(sKey.substring(32,48));

FileInputStream fis = new FileInputStream(fileIn);

byte[] bytIn = new byte[(int)fileIn.length()];

for(int i = 0;iFILEIN.LENGTH();I++){

bytIn[i] = (byte)fis.read();

}

//解密

byte[] bytOut = decryptByDES(decryptByDES(

decryptByDES(bytIn,bytK3),bytK2),bytK1);

File fileOut = chooser.getSelectedFile();

fileOut.createNewFile();

FileOutputStream fos = new FileOutputStream(fileOut);

for(int i = 0;iBYTOUT.LENGTH;I++){

fos.write((int)bytOut[i]);

}

fos.close();

JOptionPane.showMessageDialog(

this,"解密成功!","提示",JOptionPane.OK_OPTION);

}

}else

JOptionPane.showMessageDialog(

this,"密码长度必须等于48!","错误信息",JOptionPane.ERROR_MESSAGE);

}catch(Exception e){

JOptionPane.showMessageDialog(

this,"解密失败,请核对密码!","提示",JOptionPane.OK_OPTION);

}

}

/**

用DES方法加密输入的字节

bytKey需为8字节长,是加密的密码

*/

private byte[] encryptByDES(byte[] bytP,byte[] bytKey) throws Exception{

DESKeySpec desKS = new DESKeySpec(bytKey);

SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");

SecretKey sk = skf.generateSecret(desKS);

Cipher cip = Cipher.getInstance("DES");

cip.init(Cipher.ENCRYPT_MODE,sk);

return cip.doFinal(bytP);

}

/**

用DES方法解密输入的字节

bytKey需为8字节长,是解密的密码

*/

private byte[] decryptByDES(byte[] bytE,byte[] bytKey) throws Exception{

DESKeySpec desKS = new DESKeySpec(bytKey);

SecretKeyFactory skf = SecretKeyFactory.getInstance("DES");

SecretKey sk = skf.generateSecret(desKS);

Cipher cip = Cipher.getInstance("DES");

cip.init(Cipher.DECRYPT_MODE,sk);

return cip.doFinal(bytE);

}

/**

输入密码的字符形式,返回字节数组形式。

如输入字符串:AD67EA2F3BE6E5AD

返回字节数组:{173,103,234,47,59,230,229,173}

*/

private byte[] getKeyByStr(String str){

byte[] bRet = new byte[str.length()/2];

for(int i=0;iSTR.LENGTH()

Integer itg =

new Integer(16*getChrInt(str.charAt(2*i)) + getChrInt(str.charAt(2*i+1)));

bRet[i] = itg.byteValue();

}

return bRet;

}

/**

计算一个16进制字符的10进制值

输入:0-F

*/

private int getChrInt(char chr){

int iRet=0;

if(chr=="0".charAt(0)) iRet = 0;

if(chr=="1".charAt(0)) iRet = 1;

if(chr=="2".charAt(0)) iRet = 2;

if(chr=="3".charAt(0)) iRet = 3;

if(chr=="4".charAt(0)) iRet = 4;

if(chr=="5".charAt(0)) iRet = 5;

if(chr=="6".charAt(0)) iRet = 6;

if(chr=="7".charAt(0)) iRet = 7;

if(chr=="8".charAt(0)) iRet = 8;

if(chr=="9".charAt(0)) iRet = 9;

if(chr=="A".charAt(0)) iRet = 10;

if(chr=="B".charAt(0)) iRet = 11;

if(chr=="C".charAt(0)) iRet = 12;

if(chr=="D".charAt(0)) iRet = 13;

if(chr=="E".charAt(0)) iRet = 14;

if(chr=="F".charAt(0)) iRet = 15;

return iRet;

}

}

/**

文件选择组件。

*/

class FilePanel extends JPanel{

FilePanel(String str){

JLabel label = new JLabel(str);

JTextField fileText = new JTextField(35);

JButton chooseButton = new JButton("浏览...");

this.add(label);

this.add(fileText);

this.add(chooseButton);

clickAction ca = new clickAction(this);

chooseButton.addActionListener(ca);

}

public String getFileName(){

JTextField jtf = (JTextField)this.getComponent(1);

return jtf.getText();

}

private class clickAction implements ActionListener{

clickAction(Component c){

cmpt = c;

}

public void actionPerformed(ActionEvent event){

JFileChooser chooser = new JFileChooser();

chooser.setCurrentDirectory(new File("."));

int ret = chooser.showOpenDialog(cmpt);

if(ret==JFileChooser.APPROVE_OPTION){

JPanel jp = (JPanel)cmpt;

JTextField jtf = (JTextField)jp.getComponent(1);

jtf.setText(chooser.getSelectedFile().getPath());

}

}

private Component cmpt;

}

}

/**

密码生成组件。

*/

class KeyPanel extends JPanel{

KeyPanel(String str){

JLabel label = new JLabel(str);

JTextField fileText = new JTextField(35);

JButton chooseButton = new JButton("随机产生");

this.add(label);

this.add(fileText);

this.add(chooseButton);

clickAction ca = new clickAction(this);

chooseButton.addActionListener(ca);

}

//返回生成的密码(48个字符长度)

public String getKey(){

JTextField jtf = (JTextField)this.getComponent(1);

return jtf.getText();

}

private class clickAction implements ActionListener{

clickAction(Component c){

cmpt = c;

}

public void actionPerformed(ActionEvent event){

try{

KeyGenerator kg = KeyGenerator.getInstance("DES");

kg.init(56);

Key ke = kg.generateKey();

byte[] bytK1 = ke.getEncoded();

ke = kg.generateKey();

byte[] bytK2 = ke.getEncoded();

ke = kg.generateKey();

byte[] bytK3 = ke.getEncoded();

JPanel jp = (JPanel)cmpt;

JTextField jtf = (JTextField)jp.getComponent(1);

jtf.setText(getByteStr(bytK1)+getByteStr(bytK2)+getByteStr(bytK3));

}catch(Exception e){

e.printStackTrace();

}

}

private String getByteStr(byte[] byt){

String strRet = "";

for(int i=0;iBYT.LENGTH;I++){

//System.out.println(byt[i]);

strRet += getHexValue((byt[i]240)/16);

strRet += getHexValue(byt[i]15);

}

return strRet;

}

private String getHexValue(int s){

String sRet=null;

switch (s){

case 0: sRet = "0";break;

case 1: sRet = "1";break;

case 2: sRet = "2";break;

case 3: sRet = "3";break;

case 4: sRet = "4";break;

case 5: sRet = "5";break;

case 6: sRet = "6";break;

case 7: sRet = "7";break;

case 8: sRet = "8";break;

case 9: sRet = "9";break;

case 10: sRet = "A";break;

case 11: sRet = "B";break;

case 12: sRet = "C";break;

case 13: sRet = "D";break;

case 14: sRet = "E";break;

case 15: sRet = "F";

}

return sRet;

}

private Component cmpt;

}

}

Java编写代码,在D盘下创建abc文件夹,然后在abc文件夹中创建abc文件,求详细代码?!

Java代码:

import java.io.File;

import java.io.IOException;

public class Test10 {

public static void main(String[] args) {

//创建“abc”文件夹

String pathName = "d:\\abc";

File path = new File(pathName);

path.mkdir();

//创建“abc”文件

String fileName = "d:\\abc\\abc";

File file = new File(fileName);

try {

file.createNewFile();

}

catch (IOException e) {

e.printStackTrace();

}

}

}

跪求Java中写入文件和从文件中读取数据的最佳的代码!

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

public class IOTest {

public static void main(String[] args) {

String str = "123\r\n456";

writeFile(str);//写

String str1 = readFile();//读

System.out.println(str1);

}

/**

* 传递写的内容

* @param str

*/

static void writeFile(String str) {

try {

File file = new File("d:\\file.txt");

if(file.exists()){//存在

file.delete();//删除再建

file.createNewFile();

}else{

file.createNewFile();//不存在直接创建

}

FileWriter fw = new FileWriter(file);//文件写IO

fw.write(str);

fw.flush();

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 返回读取的内容

* @return

*/

static String readFile() {

String str = "", temp = null;

try {

File file = new File("d:\\file.txt"歼旦纯氏咐);

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);//迟兄文件读IO

while((temp = br.readLine())!=null){//读到结束为止

str += (temp+"\n");

}

br.close();

fr.close();

} catch (IOException e) {

e.printStackTrace();

}

return str;

}

}

刚写的,够朋友好好学习一下啦,呵呵

多多看API,多多练习

myeclipse中编写java代码的步骤

myeclipse编写java代码的步骤如下:

1.新建一个工程,取任意名字。

2.在工程目录的src目橡孙宴录下,创建一个java文件,如下图,名字凯茄以小写开头,后跟字母数字或者下划线。

3.打开刚才创建的java代码,就可以进行编梁银写代码了。

java写文件代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java nio 写文件、java写文件代码的信息别忘了在本站进行查找喔。

发布于 2023-04-13 01:04:43
收藏
分享
海报
28
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了