超简单的网络管理程序,话说java真不适合开发管控类程序,jre是硬伤。
通过修改hosts来阻止上网,但会被其它安全软件改回来,怎么办?1分钟修改一次>_<
每天10小时上网时间,可查询剩余时间,可挂机,到时间不能上指定网站(我设置的是bilibili,百度等,可修改),其它网站不受影响,新的一天自动恢复。使用360网络诊断和其它工具后会在1分钟内恢复断网状态,自己开发的程序,bug和疏漏难免,开发时间一个下午>_<
function.java
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class function {
public void writeDate(String x,String addr){
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(addr));
bw.write(x);
bw.close();
} catch (Exception e) {}
}
public int readDate(String addr){
int x=0;
try {
BufferedReader bf = new BufferedReader(new FileReader(addr));
int i;String temp="0";
while ((i = bf.read()) != -1) {
temp += String.valueOf((char) i);}
bf.close();
x=Integer.valueOf(temp);
} catch (IOException e1) {
e1.printStackTrace();}
return x;}
public boolean copyFile(String fileFrom, String fileTo) {
try {
FileInputStream in = new java.io.FileInputStream(fileFrom);
FileOutputStream out = new FileOutputStream(fileTo);
byte[] bt = new byte[1024];
int count;
while ((count = in.read(bt)) > 0) {
out.write(bt, 0, count);
}
in.close();
out.close();
return true;
} catch (IOException ex) {
return false;
} }
public void deleteFile(String filePath){
File f = new File(filePath);
if(f.exists())
f.delete();}
}
exec.java
import java.util.Calendar;
public class exec {
public static void main(String[] args) {
function fn=new function();
int oldDay=fn.readDate("C:\\tm\\day.txt");
System.out.println("读入旧日期为"+oldDay);
Calendar c = Calendar.getInstance();
int day = c.get(Calendar.DAY_OF_MONTH);
if(oldDay!=day){
fn.writeDate("720", "C:\\tm\\time.txt");
System.out.println("设置为新的一天");
fn.writeDate(String.valueOf(day), "C:\\tm\\day.txt");
System.out.println("写入今天是"+day+"号");
}
for(int i=0;true;i++){
int oldTime=fn.readDate("C:\\tm\\time.txt");
System.out.println("读入旧时间:"+oldTime);
if(oldTime<=0){fn.copyFile("C:\\tm\\hosts","C:\\Windows\\System32\\drivers\\etc\\hosts");}
else{oldTime--;}
fn.writeDate(String.valueOf(oldTime),"C:\\tm\\time.txt");
System.out.println("输出新时间:"+oldTime);
try {Thread.sleep(60000);} catch (InterruptedException e) {e.printStackTrace();}
System.out.println("循环完成次数"+i);
}
}
}
check.java
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class check extends JFrame {
public static void main(String[] args) {
JFrame jf=new JFrame("操作窗口");
jf.setBounds(300, 200, 260, 180);
Container c=new Container();
JLabel jl=new JLabel();
JButton jb1=new JButton("挂机");
JButton jb2=new JButton("回来");
function fn=new function();
jb1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
fn.copyFile("C:\\tm\\host.txt","C:\\Windows\\System32\\drivers\\etc\\hosts");
fn.writeDate(String.valueOf(fn.readDate("C:\\tm\\time.txt")),"C:\\tm\\time2.txt");
jb1.setEnabled(false);
jb1.setText("已在挂机状态");
}});
jb2.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
fn.deleteFile("C:\\Windows\\System32\\drivers\\etc\\hosts");
fn.writeDate(String.valueOf(fn.readDate("C:\\tm\\time2.txt")),"C:\\tm\\time.txt");
System.exit(0);
}});
jl.setText("现在还有"+fn.readDate("C:\\tm\\time.txt")+"分钟!");
jl.setBounds(50, 20, 200, 30);
jb1.setBounds(50, 65, 150, 30);
jb2.setBounds(50, 105, 150, 30);
c.add(jl);
c.add(jb2);
c.add(jb1);
jf.add(c);
jf.setVisible(false);
jf.setVisible(true);
}
}
创建4个文件,全部在tm文件夹下 ---day.txt--- 1 ---time.txt--- 720 ---time2.txt--- 0 ---hosts--- 127.0.0.1 www.bilibili.com 127.0.0.1 www.baidu.com --------------- 将tm文件夹拷贝到c盘下 将Timeexec拷贝到开始菜单---启动文件夹下 TimeCheck是临时挂机和时间查看界面 tm中的day.txt保存当前日期,判断新的一天 time表示剩余时间 time2表示挂机的剩余时间 hosts请用记事本打开,按格式添加或修改不能上的网
Comments 2 条评论
有来看看
@啊雷 欢迎 嘿嘿