/*
* 我的日记本:
* 创建日记本文件 ————》特定的命名格式
* File createFile(); 返回创建好的日及文件,将最后的文件内容保存在该文件内。
*
* 创建一个面板,可以设置背景及文字。具有富文本格式。
* 可以运用 swing 组件, 及jTextArea对象 对富文本的支持。
*
*/
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.io.*;
import java.util.*;
import javax.swing.*;
import javax.swing.plaf.metal.OceanTheme;
import javax.swing.text.BadLocationException;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.StyleConstants;
import javax.swing.text.StyledDocument;
public class MyDiary {
private Calendar c=Calendar.getInstance();
String name;
public MyDiary(){
}
public MyDiary(String name){
this.name=name;
}
public String getName(){
return name;
}
@SuppressWarnings("resource")
public void writeFile() {
String name_JFrame="day"+c.get(Calendar.DAY_OF_MONTH)+"-"+name;
JFrame frame=new JFrame(name_JFrame);
//OceanTheme theme=new OceanTheme();
JTextPane text=new JTextPane();
StyledDocument doc=text.getStyledDocument();
SimpleAttributeSet wordStyle=new SimpleAttributeSet();
text.setBackground(Color.lightGray);
StyleConstants.setForeground(wordStyle,Color.BLACK);
StyleConstants.setFontSize(wordStyle, 20);
StyleConstants.setFontFamily(wordStyle, "宋体");
//StyleConstants.setBackground(wordStyle, Color.GREEN);
text.setEditable(true);
text.setText(".LOG\r\n");
doc.setCharacterAttributes(24, 30, wordStyle, true);
frame.add(new JScrollPane(text),BorderLayout.CENTER);
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
frame.setSize(screenSize.width/2, (int) (screenSize.height/1.5));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
BufferedWriter br=null;
Scanner sca=null;
try{
br=new BufferedWriter(new FileWriter(createFile(),true));
sca=new Scanner(new File("my.stx"));
while(sca.hasNextLine()){
br.write(sca.nextLine());
}
/*try{
br.write(doc.getText(0,doc.getLength()));
}
catch(BadLocationException ex){
throw new RuntimeException("存储失败"+ex.getMessage());
}*/
//if(!frame.isValid())
br.flush();
}
catch(IOException e){
throw new RuntimeException("写入失败"+e.getMessage());
}
finally{
try{
if(br!=null)
br.close();
}
catch(IOException e){
throw new RuntimeException("操作流失败"+e.getMessage());
}
}
}
public String createFile(){
String s1="E:/无知/每日一文/";//绝对路径
String s2=month()+c.get(Calendar.YEAR);//文件夹
String s3="/day"+c.get(Calendar.DAY_OF_MONTH)+"-"+name;//文件名
String s4=".txt";//文件后缀名
String path=s1+s2+s3+s4;
String dir=s1+s2;
File f=null;
BufferedWriter bw=null;
try{
f=new File(dir);
if(!f.exists()) f.mkdirs();
f=new File(path);
f.createNewFile();
bw=new BufferedWriter(new FileWriter(f,true));
bw.write(".LOG");
bw.newLine();
bw.close();
return path;
}
catch(IOException e){
System.out.println("创建文件失败");
System.out.print(e.toString());
return path;
}
finally{
try{
if(bw!=null)
bw.close();
}
catch(IOException e){
System.out.println("发生错误");
}
}
}
public String month(){
switch(c.get(Calendar.MONTH)){
case 0:return "January";
case 1:return "February";
case 2:return "March";
case 3:return "April";
case 4:return "May";
case 5:return "June";
case 6:return "July";
case 7:return "August";
case 8:return "September";
case 9:return "October";
case 10:return "November";
case 11:return "December";
default :return "0";
}
}
}
小程序2
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 都知道小程序的商业能力在不断升级,但要如何利用? 都在说小程序电商是自媒体的变现新风口,但要怎么抓住机会? 在今天...
- 微信小程序:2个月收入超千万!揭秘自媒体为何都进驻小程序电商? 都知道小程序的商业能力在不断升级,但要如何利用? ...
- 都知道小程序的商业能力在不断升级,但要如何利用? 都在说小程序电商是自媒体的变现新风口,但要怎么抓住机会? 在今天...