⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edit.java

📁 这是一个简单的操作系统,主要用文件来模拟磁盘,主要是实现CPU的调度及操作系统的文件管理.
💻 JAVA
字号:
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import java.lang.*;
import java.io.*;
class Edit extends JFrame implements ActionListener
{
	JTextArea Area,area;
	JButton But;
	JPanel p;
	JLabel L;
	int a,b,c,d,e,f,g,h;
	String ss,ss1;
	char[] ar=new char[2];
	char[][] disk;
	char[] buff=new char[256];
	public Edit(int num,int num1)
	{
		super("Edit 界面");
		Container con=getContentPane();
		But=new JButton("修改");
		Area=new JTextArea(4,32);
		area=new JTextArea(1,4);
		P=new JPanel(new GridLayout(1,3,2,2));
		L=new JLabel("请输入文件的长度:");
		con.add(Area,BorderLayout.CENTER);
		P.add(L);
		P.add(area);
		P.add(But);
		con.add(P,BorderLayout.SOUTH);
		try
     	{
     	File file=new File("C:/disk.txt");
     	FileInputStream input=new FileInputStream(file);
     	DataInputStream data=new DataInputStream(input);
     	for(a=0;a<128;a++)
     	{
     	   for(b=0;b<64;b++)
     	   {
     	   	 data.readChar(disk[a][b]);
     	   }
     	}
     	data.close();
     	}
     	catch(IOException e)
     	{
     		e.printStackTrace();
     	}
     	c=disk[num][num1+5];
     	f=disk[num][num1+6];
     	But.addActionListener(new ActionListener()
	  {
	  	public void actionPerformed(ActionEvent e)
	  	{	  		
	  		ss=area.getText(1,1);
	  		ar=ss.toCharArray();
	  		d=ar[0];
	  		e=d;
	  		if(c==0)
	  		{
	  		   	for(a=0,b=0;a<64&&b<1;a++)
	  		   	{
	  		   		if(disk[b][a]==0)
	  		   		{
	  		   			e--;
	  		   		}
	  		   		else
	  		   		{
	  		   			e=d;
	  		   		}
	  		   		if(a==63)
	  		   		{
	  		   			a=0;
	  		   			b++;
	  		   			e=d;
	  		   		}
	  		   		if(e==0)
	  		   		{
	  		   			a=a-3;
	  		   			if(b==1)
	  		   			{
	  		   				a=a+64;
	  		   			}
	  		   			b=a;
	  		   		}	  		   			
	  		   	}
	  		}
	  		else
	  		{
	  			b=c;
	  			g=0;
	  			for(e=0;e<f;e++)
	  			{
	  			   for(a=0;a<64;a++,g++)
	  			   {
	  			   	  buff[g]=disk[c][a];
	  			   }
	  			   c++;
	  			}
	  			d=f;
	  		}
	  		disk[num][num1+5]=b;
	  		disk[num][num1+6]=d;
	  		ss1=Area.setText();
	  		buff=ss1.toCharArray();
	  		g=0;
	  		h=b;
	  		for(e=0;e<d;e++)
	  		{
	  			for(a=0;a<64;a++,g++)
	  			{
	  				disk[b][a]=buff[g];
	  			}
	  			b++;
	  		}
	  		b=h;
	  		if(b>63)
	  		{
	  			b=b-64;
	  			for(e=0;e<d;e++,b++)
	  			{
	  				disk[1][b]=1;
	  			}
	  		}
	  		else
	  		{
	  			for(e=0;e<d;e++,b++)
	  			{
	  				disk[0][b]=1;
	  			}
	  		}
	  		JOptionPane.showMessageDialog(OS.this,"修改成功!"); 	  		
	  	}
	  });
	  try
     	{
     	File file1=new File("C:/disk.txt");
     	FileOutputStream input1=new FileOutputStream(file1);
     	DataOutputStream data1=new DataOutputStream(input1);
     	for(a=0;a<128;a++)
     	{
     	   for(b=0;b<64;b++)
     	   {
     	   	 data.writeChar(disk[a][b]);
     	   }
     	}
     	data.close();
     	}
     	catch(IOException e)
     	{
     		e.printStackTrace();
     	}				
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -