具体如下:
连连看的小源码
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系.
虽然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同.如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页.如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失.
Java文件操作大全
①创建文件夹
//import java.io.*;
File myFolderPath = new File(%%1);
try {
if (!myFolderPath.exists()) {
myFolderPath.mkdir();
}
catch (Exception e) {
System.out.println("新建目录操作出错");
e.printStackTrace();
File myFilePath = new File(%%1);
if (!myFilePath.exists()) {
myFilePath.createNewFile();
FileWriter resultFile = new FileWriter(myFilePath);
PrintWriter myFile = new PrintWriter(resultFile);
resultFile.close();
System.out.println("新建文件操作出错");
File myDelFile = new File(%%1);
myDelFile.delete();
System.out.println("删除文件操作出错");
File delFolderPath = new File(%%1);
delFolderPath.delete(); //删除空文件夹
System.out.println("删除文件夹操作出错");
File delfile=new File(%%1);
File[] files=delfile.listFiles();
for(int i=0;ifiles.length;i◆◆){
if(files[i].isDirectory()){
files[i].delete();
File delfilefolder=new File(%%1);
if (!delfilefolder.exists()) {
delfilefolder.delete();
delfilefolder.mkdir();
System.out.println("清空目录操作出错");
// 逐行读取数据
FileReader fr = new FileReader(%%1);
BufferedReader br = new BufferedReader(fr);
br.close();
fr.close();
// 将数据写入文件
FileWriter fw = new FileWriter(%%1);
fw.flush();
fw.close();
} catch (IOException e) {
RandomAcessFile logFile=new RandomAcessFile(%%1,"rw");
long lg=logFile.length();
}catch(IOException ioe){
System.out.println("无法写入文件:"◆ioe.getMessage());
①.0.读取文件属性
// 文件属性的取得
File af = new File(%%1);
if (af.exists()) {
System.out.println(f.getName() ◆ "的属性如下: 文件长度为:" ◆ f.length());
System.out.println(f.isFile() ? "是文件" : "不是文件");
System.out.println(f.isDirectory() ? "是目录" : "不是目录");
System.out.println(f.canRead() ? "可读取" : "不");
System.out.println(f.canWrite() ? "是隐藏文件" : "");
System.out.println("文件夹的最后修改日期为:" ◆ new Date(f.lastModified()));
} else {
System.out.println(f.getName() ◆ "的属性如下:");
System.out.println("文件的最后修改日期为:" ◆ new Date(f.lastModified()));
if(f.canRead()){
if(f.canWrite()){
①.1.写入属性
File filereadonly=new File(%%1);
boolean b=filereadonly.setReadOnly();
System.out.println("拒绝写访问:"◆e.printStackTrace());
//import java.util.*;
LinkedListString folderList = new LinkedListString();
folderList.add(%%1);
while (folderList.size() 0) {
File file = new File(folderList.peek());
folderList.removeLast();
File[] files = file.listFiles();
ArrayListFile fileList = new ArrayListFile();
for (int i = 0; i files.length; i◆◆) {
if (files[i].isDirectory()) {
folderList.add(files[i].getPath());
fileList.add(files[i]);
for (File f : fileList) {
File folders = new File(folderList.peek());
String[] file = folders.list();
File temp = null;
for (int i = 0; i file.length; i◆◆) {
if (folderList.peek().endsWith(File.separator)) {
temp = new File(folderList.peek() ◆ File.separator
◆ file[i]);
if (temp.isFile()) {
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(
◆ (temp.getName()).toString());
int len;
while ((len = input.read(b)) != -1) {
output.write(b, 0, len);
output.flush();
output.close();
input.close();
if (temp.isDirectory()) {// 如果是子文件夹
for (File f : temp.listFiles()) {
if (f.isDirectory()) {
folderList.add(f.getPath());
◆ File.separator ◆ f.getName());
} catch (Exception e) {
//System.out.println("复制整个文件夹内容操作出错");
folderList.removeFirst();
File copyfolders=new File(%%1);
File[] copyfoldersList=copyfolders.listFiles();
for(int k=0;kcopyfoldersList.length;k◆◆){
if(copyfoldersList[k].isDirectory()){
ArrayListStringfolderList=new ArrayListString();
folderList.add(copyfoldersList[k].getPath());
for(int j=0;jfolderList.length;j◆◆){
File folders=new File(folderList.get(j));
String[] file=folders.list();
File temp=null;
if(folderList.get(j).endsWith(File.separator)){
temp=new File(folderList.get(j)◆"/"◆file[i]);
else{
temp=new File(folderList.get(j)◆"/"◆File.separator◆file[i]);
if(temp.isFile()){
(temp.getName()).toString());
while ( (len = input.read(b)) != -1) {
if(temp.isDirectory()){//如果是子文件夹
folderList.add(folderList.get(j)◆"/"◆file[i]);
System.out.println("复制整个文件夹内容操作出错");
if (!temp.delete())
System.out.println("删除单个文件操作出错!");
// System.out.println("复制整个文件夹内容操作出错");
File f = new File(%%1);
if (!f.delete()) {
for (File file : f.listFiles()) {
if (file.list().length == 0) {
System.out.println(file.getPath());
file.delete();
File movefolders=new File(%%1);
File[] movefoldersList=movefolders.listFiles();
for(int k=0;kmovefoldersList.length;k◆◆){
if(movefoldersList[k].isDirectory()){
folderList.add(movefoldersList[k].getPath());
temp.delete();
movefoldersList[k].delete();
boolean b=false;//不创建空文件
if (b) temp.createNewFile();
int bytesum = 0;
int byteread = 0;
File oldfile = new File(%%1);
if (oldfile.exists()) { //文件存在时
FileInputStream inStream = new FileInputStream(oldfile); //读入原文件
int length;
while ( (byteread = inStream.read(buffer)) != -1) {
bytesum ◆= byteread; //字节数 文件大小
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
inStream.close();
System.out.println("复制单个文件操作出错");
File copyfiles=new File(%%1);
File[] files=copyfiles.listFiles();
if(!files[i].isDirectory()){
InputStream inStream = new FileInputStream(files[i]); //读入原文件
最简单的java代码肯定就是这个了,如下:
public class MyFirstApp
public static void main(String[] args)
System.out.print("Hello world");
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Point;
import java.awt.Rectangle;
import javax.swing.ImageIcon;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Font;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Date;
public class Game extends JFrame {
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setText("重新开始");
jButton1.setVisible(false);
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jLabel.setVisible(false);
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO 自动生成 catch 块
e1.printStackTrace();
reset();
});
return jButton1;
public static void main(String[] args) {
Game game = new Game();
game.start();
game.reset();
game.gogo();
public void reset() {
kup = false;
kdown = false;
kleft = false;
kright = false;
int chushihua = 0;
while (chushihua zidanshu) {
chushihua◆◆;
gamexunhuan = true;
jButton.setIcon(new ImageIcon(fileLoc));
p = jButton.getLocation();
x=p.getX();
y=p.getY();
firsttime=new Date().getTime();
public void start() {
JButton jb = new JButton();
jb.setEnabled(false);
Threads ths = new Threads(jb);
Thread th = new Thread(ths);
buttonal.add(jb);
threadal.add(th);
Game.Move move = new Move();
Thread tm = new Thread(move);
tm.start();
public void gogo() {
((Thread) threadal.get(chushihua)).start();
Thread.sleep(100);
} catch (InterruptedException e) {
// private static Game game;
private long firsttime;
private long lasttime;
private static final long serialVersionUID = 1L;
private JPanel jPanel = null;
private JButton jButton = null;
private boolean kup ;
private boolean kdown ;
private boolean kleft ;
private boolean kright ;
Point p; // @jve:decl-index=0:
double x = 0.0;
double y = 0.0;
// 定义子弹初始值,这个是不变的
// int chushihua = 0;
// 定义控制子弹行走的循环false就不走了
private boolean gamexunhuan = true;
private JLabel jLabel = null;
private JButton jButton1 = null;
private ArrayList buttonal = new ArrayList();
private ArrayList threadal = new ArrayList();
URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader();
URL fileLoc = urlLoader.findResource("MyGameIcons/gwl1.gif"); // @jve:decl-index=0:
URL fileLoc1 = urlLoader.findResource("MyGameIcons/gwls1.gif");
* This is the default constructor
public Game() {
super();
initialize();
* This method initializes this
* @return void
private void initialize() {
this.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent e) {
System.exit(1);
this.setResizable(false);
this.setContentPane(getJPanel());
this.setVisible(true);
* This method initializes jPanel
* @return javax.swing.JPanel
private JPanel getJPanel() {
if (jPanel == null) {
jLabel = new JLabel();
jLabel.setEnabled(true);
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.add(getJButton(), null);
jPanel.setForeground(new Color(1, 1, 1));
jPanel.setBackground(new Color(1, 1, 1));
jPanel.setVisible(true);
jPanel.add(jLabel, null);
jPanel.add(getJButton1(), null);
return jPanel;
* This method initializes jButton
class Move implements Runnable {
public void run() {
while(true){
while (gamexunhuan) {
if (kup) {
if (kleft) {
x = p.getX();
y = p.getY();
if (x 0 y 0) {
jButton.setLocation((int) x - step, (int) y
- step);
} else if (kright) {
jButton.setLocation((int) x ◆ step, (int) y
if (y 0) {
jButton.setLocation((int) x, (int) y - step);
if (kdown) {
◆ step);
jButton.setLocation((int) x, (int) y ◆ step);
} else if (kdown) {
if (x 0) {
jButton.setLocation((int) x - step, (int) y);
if (kright) {
jButton.setLocation((int) x ◆ step, (int) y);
Thread.sleep(10);
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBackground(new Color(1, 1, 1));
jButton.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyReleased(java.awt.event.KeyEvent e) {
if(e.getKeyCode()==10){
if(!gamexunhuan){
public void keyPressed(java.awt.event.KeyEvent e) {
kleft = true;
kup = true;
// 触发按右键
kright = true;
kdown = true;
return jButton;
class Threads implements Runnable {
public Threads(JButton jjb) {
jb = jjb;
JButton jb = null;
private boolean first = true;
go();
public void go() {
int zzx = 0;
int zzy = 0;
int zx = 0;
int zy = 0;
while (true) {
if(gamexunhuan){
// 四个if随即从四个边发射子弹
if (fangxiang == 1) {
zx = 0;
zy = 0;
// 初始化子弹,有了就不在加了
if (first) {
jPanel.add(jb, null);
first = false;
jb.setBounds(new Rectangle(zx, zy, 10, 10));
// 定义子弹与物体之间的步长
zx ◆= zzx;
zy ◆= zzy;
jb.setLocation(zx, zy);
jButton.setIcon(new ImageIcon(fileLoc1));
gamexunhuan = false;
first = true;
jButton1.setVisible(true);
jLabel.setVisible(true);
lasttime = new Date().getTime();
Date gametime = new Date(lasttime-firsttime);
int min =0;
int sec =0;
min = gametime.getMinutes();
sec = gametime.getSeconds();
String endtime = "";
if(min!=0){
endtime=min ◆ "分 " ◆ sec ◆ "秒";
}else{
endtime=sec ◆ "秒";
jLabel.setText(" GAME OVER!!! \n用时:" ◆ endtime);
break;
// 超出边线停止循环
} // @jve:decl-index=0:visual-constraint="10,10"
如果想要执行程序,麻烦留个邮箱.
不知道是否理解对了你的意思,大概写了一下:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StringReader;
import java.io.StringWriter;
public class FileReadAndWrite {
File file = new File("E:/workspace/FileIOTest/src/a.txt");
str = str.replace('d', 'f');
System.out.println("处理完毕");
* 文本文件转换为指定编码的字符串
* @param file
* 文本文件
* @param encoding
* 编码类型
* @return 转换后的字符串
* @throws IOException
InputStreamReader reader = null;
StringWriter writer = new StringWriter();
if (encoding == null || "".equals(encoding.trim())) {
reader = new InputStreamReader(new FileInputStream(file),
encoding);
reader = new InputStreamReader(new FileInputStream(file));
// 将输入流写入输出流
char[] buffer = new char[DEFAULT_BUFFER_SIZE];
int n = 0;
while (-1 != (n = reader.read(buffer))) {
writer.write(buffer, 0, n);
return null;
} finally {
if (reader != null)
reader.close();
// 返回转换结果
if (writer != null)
return writer.toString();
else
* 将字符串写入指定文件(当指定的父路径中文件夹不存在时,会最大限度去创建,以保证保存成功!)
* @param res
* 原字符串
* @param filePath
* 文件路径
* @return 成功标记
boolean flag = true;
BufferedReader bufferedReader = null;
BufferedWriter bufferedWriter = null;
File distFile = new File(filePath);
if (!distFile.getParentFile().exists())
distFile.getParentFile().mkdirs();
bufferedReader = new BufferedReader(new StringReader(res));
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
while ((len = bufferedReader.read(buf)) != -1) {
bufferedWriter.write(buf, 0, len);
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
flag = false;
return flag;
if (bufferedReader != null) {
double
d
=
==
(int)
d);
第三个因为数值比较小,所以是true.