信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 2173|回复: 2
打印 上一主题 下一主题

[『 Java 图文教程』] Java文件拆分器和软件多实例教程

  [复制链接]

587

主题

671

帖子

4360

积分

积分
4360
跳转到指定楼层
宣传软件楼主
发表于 2016-10-4 14:19:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:Java 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件中级教程 

软件教程发布日期:2016-10-04

软件教程关键字:Java文件拆分

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

工具类:

  import java.awt.FlowLayout;

  import java.awt.Toolkit;

  import java.awt.event.ActionListener;

  import java.io.File;

  import java.io.FileInputStream;

  import java.io.FileNotFoundException;

  import java.io.FileOutputStream;

  import java.io.IOException;

  import java.io.InputStream;

  import java.io.InputStreamReader;

  import javax.swing.JButton;

  import javax.swing.JFrame;

  import javax.swing.JPanel;

  public class FileSplitUtilClass {

  public static int data;//拆分的个数;

  public static String str;

  public static boolean split(File filePath,int number) {

  byte[] b=new byte[number];

  str=filePath.getAbsolutePath();

  int i=0;//创建文件

  try {

  FileInputStream file=new FileInputStream(filePath);

  try {

  while(file.read(b)!=-1){

  i++;

  FileOutputStream fileout=new FileOutputStream(str+i);

  fileout.write(b);

  }

  file.close();

  FileSplitUtilClass.data=i;

  filePath.delete();

  return true;

  }catch (IOException e) {

  // TODO Auto-generated catch block

  System.out.println("split error");

  e.printStackTrace();return false;

  }

  } catch (FileNotFoundException e) {

  // TODO Auto-generated catch block

  System.out.println("no find");

  e.printStackTrace();return false;

  }

  }


  ////////////////////////////////////////

  public static void fixFile(File filePath){

  byte[] b=new byte[1024];

  // String str=filePath.getAbsolutePath();

  int i=0;//创建文件

  try {

  FileOutputStream file=new FileOutputStream(filePath);

  try {

  System.out.println(FileSplitUtilClass.data);

  while(true&i<FileSplitUtilClass.data){

  i++;

  FileInputStream file1=new FileInputStream(FileSplitUtilClass.str+i);

  if(file1.read(b)!=-1){

  file.write(b);

  }else{

  break;

  }

  }

  }catch (IOException e) {

  // TODO Auto-generated catch block

  System.out.println("no file");

  e.printStackTrace();

  }

  } catch (FileNotFoundException e) {

  // TODO Auto-generated catch block

  System.out.println("failure");

  e.printStackTrace();

  }

  }

/////////////////////

  public static JFrame getJFrame(String JFrameName){

  JFrame jf=new JFrame(JFrameName);

  Toolkit tk=Toolkit.getDefaultToolkit();

  jf.setSize(500,330);

  jf.setLocation((tk.getScreenSize().width-jf.getWidth())/2,(tk.getScreenSize().height-jf.getHeight())/2);

  return jf;

  }

  //////////////////////////

  public static JPanel getJButton(String JButtonName1,String JButtonName2,Object obj){

  JPanel jp=new JPanel(new FlowLayout());

  JButton jb1=new JButton(JButtonName1);

  jb1.addActionListener((ActionListener) obj);

  JButton jb2=new JButton(JButtonName2);

  jb2.addActionListener((ActionListener)obj);

  jp.add(jb1);

  jp.add(jb2);

  return jp;

  }


  ///////////////////////////////////////

  }

  检测类:

  import java.awt.BorderLayout;

  import java.awt.FlowLayout;

  import java.awt.event.ActionEvent;

  import java.awt.event.ActionListener;

  import java.io.File;

  import javax.swing.JFileChooser;

  import javax.swing.JFrame;

  import javax.swing.JLabel;

  import javax.swing.JPanel;

  import javax.swing.JTextField;

  public class Split implements ActionListener {

  JFrame jf;JTextField jt;int number;

  public Split(){

  jf=FileSplitUtilClass.getJFrame("Filesplit");

  JPanel jp=FileSplitUtilClass.getJButton("拆分","组合", this);

  jt=new JTextField(10);

  JLabel jl=new JLabel("输入字节大小");

  JPanel jp1=new JPanel(new FlowLayout());

  jp1.add(jl);jp1.add(jt);

  jf.add(jp1,BorderLayout.CENTER);

  jf.add(jp,BorderLayout.SOUTH);

  jf.setVisible(true);

  javax.swing.JOptionPane.showMessageDialog(jf,"请输入字节");

  jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  }

  public void actionPerformed(ActionEvent arg0) {

  // TODO Auto-generated method stub

  String str=arg0.getActionCommand();

  if("拆分".equals(str)){

  JFileChooser jfc=new JFileChooser();

  jfc.showOpenDialog(null);//注意在这里的null表示对话框弹出的位置;

  if(jfc.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){

  File filePath=jfc.getSelectedFile();

  if(FileSplitUtilClass.split(filePath,Integer.parseInt(jt.getText()))){

  javax.swing.JOptionPane.showMessageDialog(jf,"ok");

  }else{

  javax.swing.JOptionPane.showMessageDialog(jf,"fail");

  }


  }else{

  javax.swing.JOptionPane.showMessageDialog(jf,"你已经取消了");

  }

  }

  if("组合".equals(str)){

  JFileChooser jfc=new JFileChooser();

  jfc.showOpenDialog(null);//注意在这里的null表示对话框弹出的位置;

  if(jfc.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){

  File filePath=jfc.getSelectedFile();

  FileSplitUtilClass.fixFile(filePath);

  javax.swing.JOptionPane.showMessageDialog(jf,"fixed ok");

  }else{

  javax.swing.JOptionPane.showMessageDialog(jf,"你已经取消了");

  }

  }

  }

  public static void main(String[] args){

  Split s=new Split();

  }

  }



untoJava编译过程与c/c++编译过程有何不同和多实例教程nextJava中的继承与访问修饰符的一些总结和多实例教吴王
回复

使用道具 举报

587

主题

671

帖子

4360

积分

积分
4360
信息发布软件沙发
 楼主| 发表于 2016-10-4 14:20:04 | 只看该作者
文件分割与合并是一个常见需求,比如:上传大文件时,可以先分割成小块,传到服务器后,再进行合并。很多高大上的分布式文件系统(比如:google的GFS、taobao的TFS)里,也是按block为单位,对文件进行分割或合并。
看下基本思路:
Java文件拆分器和软件多实例教程 b2b软件
如果有一个大文件,指定分割大小后(比如:按1M切割)
step 1:
先根据原始文件大小、分割大小,算出最终分割的小文件数N
step 2:
在磁盘上创建这N个小文件
step 3:
开多个线程(线程数=分割文件数),每个线程里,利用RandomAccessFile的seek功能,将读取指针定位到原文件里每一段的段首位置,然后向后读取指定大小(即:分割块大小),最终写入对应的分割文件,因为多线程并行处理,各写各的小文件,速度相对还是比较快的。

合并时,把上面的思路逆向处理即可。

核心代码:
分割处理:
Java文件拆分器和软件多实例教程 b2b软件 Java文件拆分器和软件多实例教程 b2b软件
1 /** 2      * 拆分文件 3      * @param fileName 待拆分的完整文件名 4      * @param byteSize 按多少字节大小拆分 5      * @return 拆分后的文件名列表 6      * @throws IOException 7      */ 8     public List<String> splitBySize(String fileName, int byteSize) 9             throws IOException {10         List<String> parts = new ArrayList<String>();11         File file = new File(fileName);12         int count = (int) Math.ceil(file.length() / (double) byteSize);13         int countLen = (count + "").length();14         ThreadPoolExecutor threadPool = new ThreadPoolExecutor(count,15                 count * 3, 1, TimeUnit.SECONDS,16                 new ArrayBlockingQueue<Runnable>(count * 2));17 18         for (int i = 0; i < count; i++) {19             String partFileName = file.getName() + "."20                     + leftPad((i + 1) + "", countLen, '0') + ".part";21             threadPool.execute(new SplitRunnable(byteSize, i * byteSize,22                     partFileName, file));23             parts.add(partFileName);24         }25         return parts;26     } Java文件拆分器和软件多实例教程 b2b软件


Java文件拆分器和软件多实例教程 b2b软件 Java文件拆分器和软件多实例教程 b2b软件
1 private class SplitRunnable implements Runnable { 2         int byteSize; 3         String partFileName; 4         File originFile; 5         int startPos; 6 7         public SplitRunnable(int byteSize, int startPos, String partFileName, 8                 File originFile) { 9             this.startPos = startPos;10             this.byteSize = byteSize;11             this.partFileName = partFileName;12             this.originFile = originFile;13         }14 15         public void run() {16             RandomAccessFile rFile;17             OutputStream os;18             try {19                 rFile = new RandomAccessFile(originFile, "r");20                 byte[] b = new byte[byteSize];21                 rFile.seek(startPos);// 移动指针到每“段”开头22                 int s = rFile.read(b);23                 os = new FileOutputStream(partFileName);24                 os.write(b, 0, s);25                 os.flush();26                 os.close();27             } catch (IOException e) {28                 e.printStackTrace();29             }30         }31     } Java文件拆分器和软件多实例教程 b2b软件


合并处理:
Java文件拆分器和软件多实例教程 b2b软件 Java文件拆分器和软件多实例教程 b2b软件
1 /** 2      * 合并文件 3      * 4      * @param dirPath 拆分文件所在目录名 5      * @param partFileSuffix 拆分文件后缀名 6      * @param partFileSize 拆分文件的字节数大小 7      * @param mergeFileName 合并后的文件名 8      * @throws IOException 9      */10     public void mergePartFiles(String dirPath, String partFileSuffix,11             int partFileSize, String mergeFileName) throws IOException {12         ArrayList<File> partFiles = FileUtil.getDirFiles(dirPath,13                 partFileSuffix);14         Collections.sort(partFiles, new FileComparator());15 16         RandomAccessFile randomAccessFile = new RandomAccessFile(mergeFileName,17                 "rw");18         randomAccessFile.setLength(partFileSize * (partFiles.size() - 1)19                 + partFiles.get(partFiles.size() - 1).length());20         randomAccessFile.close();21 22         ThreadPoolExecutor threadPool = new ThreadPoolExecutor(23                 partFiles.size(), partFiles.size() * 3, 1, TimeUnit.SECONDS,24                 new ArrayBlockingQueue<Runnable>(partFiles.size() * 2));25 26         for (int i = 0; i < partFiles.size(); i++) {27             threadPool.execute(new MergeRunnable(i * partFileSize,28                     mergeFileName, partFiles.get(i)));29         }30 31     } Java文件拆分器和软件多实例教程 b2b软件


Java文件拆分器和软件多实例教程 b2b软件 Java文件拆分器和软件多实例教程 b2b软件
1 private class MergeRunnable implements Runnable { 2         long startPos; 3         String mergeFileName; 4         File partFile; 5 6         public MergeRunnable(long startPos, String mergeFileName, File partFile) { 7             this.startPos = startPos; 8             this.mergeFileName = mergeFileName; 9             this.partFile = partFile;10         }11 12         public void run() {13             RandomAccessFile rFile;14             try {15                 rFile = new RandomAccessFile(mergeFileName, "rw");16                 rFile.seek(startPos);17                 FileInputStream fs = new FileInputStream(partFile);18                 byte[] b = new byte[fs.available()];19                 fs.read(b);20                 fs.close();21                 rFile.write(b);22                 rFile.close();23             } catch (IOException e) {24                 e.printStackTrace();25             }26         }27     } Java文件拆分器和软件多实例教程 b2b软件


为了方便文件操作,把关于文件读写的功能,全封装到FileUtil类:
Java文件拆分器和软件多实例教程 b2b软件 Java文件拆分器和软件多实例教程 b2b软件
  1 package com.cnblogs.yjmyzz;  2   3 import java.io.*;  4 import java.util.*;  5 import java.util.concurrent.*;  6   7 /**  8 * 文件处理辅助类  9 * 10 * @author yjmyzz@126.com 11 * @version 0.2 12 * @since 2014-11-17 13 * 14  */ 15 public class FileUtil { 16 17     /** 18      * 当前目录路径 19      */ 20     public static String currentWorkDir = System.getProperty("user.dir") + "\\"; 21 22     /** 23      * 左填充 24      * 25      * @param str 26      * @param length 27      * @param ch 28      * @return 29      */ 30     public static String leftPad(String str, int length, char ch) { 31         if (str.length() >= length) { 32             return str; 33         } 34         char[] chs = new char[length]; 35         Arrays.fill(chs, ch); 36         char[] src = str.toCharArray(); 37         System.arraycopy(src, 0, chs, length - src.length, src.length); 38         return new String(chs); 39 40     } 41 42     /** 43      * 删除文件 44      * 45      * @param fileName 46      *            待删除的完整文件名 47      * @return 48      */ 49     public static boolean delete(String fileName) { 50         boolean result = false; 51         File f = new File(fileName); 52         if (f.exists()) { 53             result = f.delete(); 54 55         } else { 56             result = true; 57         } 58         return result; 59     } 60 61     /*** 62      * 递归获取指定目录下的所有的文件(不包括文件夹) 63      * 64      * @param obj 65      * @return 66      */ 67     public static ArrayList<File> getAllFiles(String dirPath) { 68         File dir = new File(dirPath); 69 70         ArrayList<File> files = new ArrayList<File>(); 71 72         if (dir.isDirectory()) { 73             File[] fileArr = dir.listFiles(); 74             for (int i = 0; i < fileArr.length; i++) { 75                 File f = fileArr; 76                 if (f.isFile()) { 77                     files.add(f); 78                 } else { 79                     files.addAll(getAllFiles(f.getPath())); 80                 } 81             } 82         } 83         return files; 84     } 85 86     /** 87      * 获取指定目录下的所有文件(不包括子文件夹) 88      * 89      * @param dirPath 90      * @return 91      */ 92     public static ArrayList<File> getDirFiles(String dirPath) { 93         File path = new File(dirPath); 94         File[] fileArr = path.listFiles(); 95         ArrayList<File> files = new ArrayList<File>(); 96 97         for (File f : fileArr) { 98             if (f.isFile()) { 99                 files.add(f);100             }101         }102         return files;103     }104 105     /**106      * 获取指定目录下特定文件后缀名的文件列表(不包括子文件夹)107      * 108      * @param dirPath109      *            目录路径110      * @param suffix111      *            文件后缀112      * @return113      */114     public static ArrayList<File> getDirFiles(String dirPath,115             final String suffix) {116         File path = new File(dirPath);117         File[] fileArr = path.listFiles(new FilenameFilter() {118             public boolean accept(File dir, String name) {119                 String lowerName = name.toLowerCase();120                 String lowerSuffix = suffix.toLowerCase();121                 if (lowerName.endsWith(lowerSuffix)) {122                     return true;123                 }124                 return false;125             }126 127         });128         ArrayList<File> files = new ArrayList<File>();129 130         for (File f : fileArr) {131             if (f.isFile()) {132                 files.add(f);133             }134         }135         return files;136     }137 138     /**139      * 读取文件内容140      * 141      * @param fileName142      *            待读取的完整文件名143      * @return 文件内容144      * @throws IOException145      */146     public static String read(String fileName) throws IOException {147         File f = new File(fileName);148         FileInputStream fs = new FileInputStream(f);149         String result = null;150         byte[] b = new byte[fs.available()];151         fs.read(b);152         fs.close();153         result = new String(b);154         return result;155     }156 157     /**158      * 写文件159      * 160      * @param fileName161      *            目标文件名162      * @param fileContent163      *            写入的内容164      * @return165      * @throws IOException166      */167     public static boolean write(String fileName, String fileContent)168             throws IOException {169         boolean result = false;170         File f = new File(fileName);171         FileOutputStream fs = new FileOutputStream(f);172         byte[] b = fileContent.getBytes();173         fs.write(b);174         fs.flush();175         fs.close();176         result = true;177         return result;178     }179 180     /**181      * 追加内容到指定文件182      * 183      * @param fileName184      * @param fileContent185      * @return186      * @throws IOException187      */188     public static boolean append(String fileName, String fileContent)189             throws IOException {190         boolean result = false;191         File f = new File(fileName);192         if (f.exists()) {193             RandomAccessFile rFile = new RandomAccessFile(f, "rw");194             byte[] b = fileContent.getBytes();195             long originLen = f.length();196             rFile.setLength(originLen + b.length);197             rFile.seek(originLen);198             rFile.write(b);199             rFile.close();200         }201         result = true;202         return result;203     }204 205     /**206      * 拆分文件207      * 208      * @param fileName209      *            待拆分的完整文件名210      * @param byteSize211      *            按多少字节大小拆分212      * @return 拆分后的文件名列表213      * @throws IOException214      */215     public List<String> splitBySize(String fileName, int byteSize)216             throws IOException {217         List<String> parts = new ArrayList<String>();218         File file = new File(fileName);219         int count = (int) Math.ceil(file.length() / (double) byteSize);220         int countLen = (count + "").length();221         ThreadPoolExecutor threadPool = new ThreadPoolExecutor(count,222                 count * 3, 1, TimeUnit.SECONDS,223                 new ArrayBlockingQueue<Runnable>(count * 2));224 225         for (int i = 0; i < count; i++) {226             String partFileName = file.getName() + "."227                     + leftPad((i + 1) + "", countLen, '0') + ".part";228             threadPool.execute(new SplitRunnable(byteSize, i * byteSize,229                     partFileName, file));230             parts.add(partFileName);231         }232         return parts;233     }234 235     /**236      * 合并文件237      * 238      * @param dirPath239      *            拆分文件所在目录名240      * @param partFileSuffix241      *            拆分文件后缀名242      * @param partFileSize243      *            拆分文件的字节数大小244      * @param mergeFileName245      *            合并后的文件名246      * @throws IOException247      */248     public void mergePartFiles(String dirPath, String partFileSuffix,249             int partFileSize, String mergeFileName) throws IOException {250         ArrayList<File> partFiles = FileUtil.getDirFiles(dirPath,251                 partFileSuffix);252         Collections.sort(partFiles, new FileComparator());253 254         RandomAccessFile randomAccessFile = new RandomAccessFile(mergeFileName,255                 "rw");256         randomAccessFile.setLength(partFileSize * (partFiles.size() - 1)257                 + partFiles.get(partFiles.size() - 1).length());258         randomAccessFile.close();259 260         ThreadPoolExecutor threadPool = new ThreadPoolExecutor(261                 partFiles.size(), partFiles.size() * 3, 1, TimeUnit.SECONDS,262                 new ArrayBlockingQueue<Runnable>(partFiles.size() * 2));263 264         for (int i = 0; i < partFiles.size(); i++) {265             threadPool.execute(new MergeRunnable(i * partFileSize,266                     mergeFileName, partFiles.get(i)));267         }268 269     }270 271     /**272      * 根据文件名,比较文件273      * 274      * @author yjmyzz@126.com275      *276      */277     private class FileComparator implements Comparator<File> {278         public int compare(File o1, File o2) {279             return o1.getName().compareToIgnoreCase(o2.getName());280         }281     }282 283     /**284      * 分割处理Runnable285      * 286      * @author yjmyzz@126.com287      *288      */289     private class SplitRunnable implements Runnable {290         int byteSize;291         String partFileName;292         File originFile;293         int startPos;294 295         public SplitRunnable(int byteSize, int startPos, String partFileName,296                 File originFile) {297             this.startPos = startPos;298             this.byteSize = byteSize;299             this.partFileName = partFileName;300             this.originFile = originFile;301         }302 303         public void run() {304             RandomAccessFile rFile;305             OutputStream os;306             try {307                 rFile = new RandomAccessFile(originFile, "r");308                 byte[] b = new byte[byteSize];309                 rFile.seek(startPos);// 移动指针到每“段”开头310                 int s = rFile.read(b);311                 os = new FileOutputStream(partFileName);312                 os.write(b, 0, s);313                 os.flush();314                 os.close();315             } catch (IOException e) {316                 e.printStackTrace();317             }318         }319     }320 321     /**322      * 合并处理Runnable323      * 324      * @author yjmyzz@126.com325      *326      */327     private class MergeRunnable implements Runnable {328         long startPos;329         String mergeFileName;330         File partFile;331 332         public MergeRunnable(long startPos, String mergeFileName, File partFile) {333             this.startPos = startPos;334             this.mergeFileName = mergeFileName;335             this.partFile = partFile;336         }337 338         public void run() {339             RandomAccessFile rFile;340             try {341                 rFile = new RandomAccessFile(mergeFileName, "rw");342                 rFile.seek(startPos);343                 FileInputStream fs = new FileInputStream(partFile);344                 byte[] b = new byte[fs.available()];345                 fs.read(b);346                 fs.close();347                 rFile.write(b);348                 rFile.close();349             } catch (IOException e) {350                 e.printStackTrace();351             }352         }353     }354 355 } Java文件拆分器和软件多实例教程 b2b软件


单元测试:
Java文件拆分器和软件多实例教程 b2b软件 Java文件拆分器和软件多实例教程 b2b软件
1 package com.cnblogs.yjmyzz; 2 3 import java.io.IOException; 4 5 import org.junit.Test; 6 7 public class FileTest { 8 9     @Test10     public void writeFile() throws IOException, InterruptedException {11 12         System.out.println(FileUtil.currentWorkDir);13 14         StringBuilder sb = new StringBuilder();15 16         long originFileSize = 1024 * 1024 * 100;// 100M17         int blockFileSize = 1024 * 1024 * 15;// 15M18 19         // 生成一个大文件20         for (int i = 0; i < originFileSize; i++) {21             sb.append("A");22         }23 24         String fileName = FileUtil.currentWorkDir + "origin.myfile";25         System.out.println(fileName);26         System.out.println(FileUtil.write(fileName, sb.toString()));27 28         // 追加内容29         sb.setLength(0);30         sb.append("0123456789");31         FileUtil.append(fileName, sb.toString());32 33         FileUtil fileUtil = new FileUtil();34 35         // 将origin.myfile拆分36         fileUtil.splitBySize(fileName, blockFileSize);37 38         Thread.sleep(10000);// 稍等10秒,等前面的小文件全都写完39 40         // 合并成新文件41         fileUtil.mergePartFiles(FileUtil.currentWorkDir, ".part",42                 blockFileSize, FileUtil.currentWorkDir + "new.myfile");43 44     }45 } Java文件拆分器和软件多实例教程 b2b软件


Java文件拆分器和软件多实例教程 b2b软件





回复 支持 反对

使用道具 举报

587

主题

671

帖子

4360

积分

积分
4360
推广工具板凳
 楼主| 发表于 2016-10-4 14:21:16 | 只看该作者
多实例教程3

  • 【新建工程】

    Java文件拆分器和软件多实例教程 b2b软件
    Java文件拆分器和软件多实例教程 b2b软件
    Java文件拆分器和软件多实例教程 b2b软件

  • 2

    【创建类】

    Java文件拆分器和软件多实例教程 b2b软件
    Java文件拆分器和软件多实例教程 b2b软件

  • 3

    【编写文件分割方法】
    ////////////////////////////////////////////////////////////////////////////////
    //
    ////////////////////////////////////////////////////////////////////////////////
    public static void FileDivision(String fileName,int iSize){
    try {
    DataInputStream in=new DataInputStream(new FileInputStream(fileName));
    int fileSize=in.available();
    int iPart=0;
    int mod=0;
    iPart=fileSize/iSize;//分割成几部分
    mod=fileSize%iSize;//最后一部分
    //扩展名
    String ext=fileName.substring(fileName.lastIndexOf("."));
    for (int i = 0; i < iPart; i++) {
    byte[]buffer=new byte[iSize];
    in.read(buffer);
    String newName=fileName+i+ext;
    RandomAccessFile hFileWrite = new RandomAccessFile(newName,"rw");
    hFileWrite.write(buffer);
    hFileWrite.close();
    }
    if(mod>0){
    byte[]buffer=new byte[mod];
    in.read(buffer);
    String newName=fileName+iPart+ext;
    RandomAccessFile hFileWrite = new RandomAccessFile(newName,"rw");
    hFileWrite.write(buffer);
    hFileWrite.close();
    }
    in.close();
    } catch (Exception e) {
    }
    }

    Java文件拆分器和软件多实例教程 b2b软件

  • 4

    【编写文件合并方法】
    ////////////////////////////////////////////////////////////////////////////////
    //
    ////////////////////////////////////////////////////////////////////////////////
    public static void FileCombination(String ...fileName){
    try {
    String fileCom="合并后的文件.txt";
    RandomAccessFile hFileWrite = new RandomAccessFile(fileCom,"rw");
    for(int i=0;i<fileName.length;i++){
    DataInputStream in=new DataInputStream(new FileInputStream(fileName));
    int fileSize=in.available();
    byte[]buffer=new byte[fileSize];
    in.read(buffer);
    in.close();
    hFileWrite.write(buffer);
    }
    hFileWrite.close();
    } catch (Exception e) {
    }
    }

    Java文件拆分器和软件多实例教程 b2b软件

  • 5

    【编写主方法】
    public static void main(String[] args) {
    if (args[0].equals("0")) {
    //文件分割,命令行:java -jar fileDivCom.jar +0 +文件名 +分割大小
    FileDivision(args[1],Integer.parseInt(args[2])*1024);
    }else {
    //文件合并,命令行:java -jar fileDivCom.jar +1 +文件名1 + 文件名2 ....
    FileCombination(args);
    }
    }

    Java文件拆分器和软件多实例教程 b2b软件

  • 6

    【导出为可运行的jar文件】

    Java文件拆分器和软件多实例教程 b2b软件
    Java文件拆分器和软件多实例教程 b2b软件
    Java文件拆分器和软件多实例教程 b2b软件

  • 7

    【测试文件分割】

    Java文件拆分器和软件多实例教程 b2b软件

  • 8

    【测试文件合并】

    Java文件拆分器和软件多实例教程 b2b软件





回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
群发软件手机改了分辨率后有误差用公式计算加减还原点击
有的人用改分辩率软件,更改了手机的分辩率,为了让所有手机通用一种点击方法,计算偏差,可以用这段代码实现。两种方法如下:第一种方法:function calculateFunction(inputValue) { function leastSquaresFit(x, y) { var n = x.length; var sumX = 0; var sumY = 0; var sumXY = 0; var sumX2 = 0; for (var i = 0; i < n; i++) { sumX += x;
群发软件原生webview的h5如何跟aiwork交互
原生webview的h5如何跟aiwork交互 原生activity和h5交互案例.zip void runJs(function code)h5执行app JS脚本window.at.runJs(function (){ //这里写ATjs代码 printl("你好"); auto.home();}.toString());void runJsFile(String file) H5运行APP JS文件window.at.runJsFile('主脚本.js');void callFunction(String funname,String arg) H5执行脚本方法window.at.callFun('main',"hello");Str
群发软件AIWORK软件图片二值化封装使用方法说明
群711841924// 引入 Android 和 OpenCV 的类 importPackage(org.opencv.core); importPackage(org.opencv.imgproc); importPackage(org.opencv.android); importClass(android.graphics.Bitmap); function screenshotAndBinarize(width, height, quality, threshold1, threshold2) { // 进行屏幕截图 var bitmap = screen.screenShot(width, height, quality).getBitmap(); // 将 Bitmap 转换为 OpenCV
群发软件使用AIWORK的ADB命令执行: 实现安卓设备的远程命令
第一个例子:开启代理模式判断agent.start()agent.start() 函数用于开启代理模式,需 root 权限,无需参数。此函数执行后会返回一个布尔值:如果成功返回 true,否则返回 false。下面是一个可能的使用例子: // 尝试启动代理模式 let result =agent.start(); printl(result); if (result) { console.log("代理启动成功!"); } else { console.log("代理启动失败,请检查是否具有root权限。"); } 此
群发软件理解Activity:安卓应用中的关键组件
在安卓开发中,Activity 是一个非常重要的组件,主要用于以下几个方面:用户界面展示:每个 Activity 通常代表一个完整的屏幕或界面,用户与应用的交互主要通过 Activity 实现。例如,一个邮件应用可能包含一个显示邮件列表的 Activity,以及另一个用于阅读邮件内容的 Activity。生命周期管理:Activity 有一个生命周期,即创建、启动、恢复、暂停、停止和销毁等状态。开发者可以通过重写
群发软件AIWORK全能图像处理开发指南:从截图采集到OCR识别的全链路实现
1.截取屏幕的全屏截图:var img = screen.screenShotFull(); 这行代码用于截取当前屏幕的全屏截图,并将截图存储在变量img中。2.文字识别,默认语言为中文:var ocr = img.MLKitOcr('zh'); printl(ocr.getJsonString()); 使用MLKitOcr方法对截图img进行文字识别,指定语言为中文’zh’,并将识别结果以JSON字符串形式打印出来。3.获取图片大小(以字节为单位):var size = img.byteSize(); printl('图片大小: ' + size + ' 字
群发软件AIWROK软件中的okHttp上传文件详解
以这个网站为例子https://ocr.wdku.net/我们首先抓包上传的参数通过以上抓包我们分析出 几个关键点第一:上传的url是 https://ocr.wdku.net/upload第二:二进制的参数名字是 file第三:其他参数user,name,from,fileName现在使用okhttp上传方法以此填写参数var http1=new okHttp(); var fromdata= new map()//其他参数使用map格式 fromdata.add("user","default") fromdata.add("name","t019bf9f2ac19af88b0.webp.png_173915
群发软件通过HTTP接口实现屏幕连续点击功能的易语言代码示例
.版本 2 .支持库 eHTTP .程序集 窗口程序集_启动窗口 .子程序 _启动窗口_创建完毕 .子程序 发送HTTP请求 .参数 请求URL, 文本型 .局部变量 响应内容, 文本型 // 创建HTTP请求对象 HTTP请求对象 = HTTP请求 () // 设置请求URL HTTP请求对象.设置URL (请求URL) // 发送GET请求 响应内容 = HTTP请求对象.发送GET () // 显示响应内容(可选) 信息框 (响应内容, #信息图标, “响应内容”) .子程序
群发软件实现AIWork软件开机自动启动且不弹出界面
这个代码的主要作用是,手机一开机就自动不弹界面,自动开始运行脚本,如果你想定时脚本,也是需要先打开脚本的,这个需要自己在主脚本的JS运行才可以// 自启动逻辑if (autoStar == true) { printl("开机自启动"); Import("主脚本.js");} else { // 加载主界面 var win = window.loadUI("主界面.ui"); win.show();}这段代码主要用于设置一个应用程序在开机时是否自动启动。代码逻辑如下: [*]代码首先检查变量 autoS
群发软件AIWORK+图鉴:点选验证码智能识别系统集成指南
详细版:function sendImageToAPI(username, password, typeid) { var url = "http://api.ttshitu.com/predict"; // API地址 // 截取全屏图像并裁剪验证码区域 var img = screen.screenShotFull().cutImagePercent(0.17, 0.412, 0.83, 0.57).toBase64(); // 准备POST请求的数据 var postData = JSON.stringify({ username: username, password: password, typeid: t
群发软件MuMu 模拟器借助 ADB 桥接与 AIWROK 软件成功连接的步骤详解
MuMu模拟器桥接ADB模式连接AIWROK软件教程:他模拟器官方网站:https://mumu.163.com/ 第一步准备工作, 同时开多个模拟器会导致端口冲突,新手先折腾一个,成功后再试多开。 如果之前开过其他模拟器(雷电、夜神等),先全部关掉!先确定你这里只有一个模拟器,因为多个,他可能端口不同的,一个连接上了,其它也能链接上,最好是先一个先折腾着,这样后面就简单了。 然后开启他的网络桥接状态。打开MuMu模拟器 → 点击右上角
群发软件JavaScript中贝塞尔曲线的实现与应用
随机数生成函数 function random(a, b) { return rand.randNumber(a, b); } /** * @param time_ms {number} 执行时间 ms 例如 3000 * @param t {number} 间隔系数 0-1 间, 越小线条线条越圆润,计算量越大, 例如 0.005 * @param pt {number[][]} 控制点坐标的二维数组 例如 [[137,169],[140,283]] */ function bezier(time_ms, t, pt) { var gesture1 = new path(); // 创建一个手势对象 gesture1.se
群发软件键鼠.随机百分比点击方法结合屏幕百分比和随机偏移,实现精准且自然的
第一个,键鼠HID随机点击例子const 键鼠 = {}; 键鼠.点击 = function (x, y) { if (typeof x === "undefined") return false; if (typeof y === "undefined") return false; return hid.click(x, y); } 键鼠.随机点击 = function (x, y, random) { if (typeof x === "undefined") return false; if (typeof y === "undefined") return false; let random_s = random || 10; let x
群发软件应用关闭函数的设计
第一个:定义一个关闭当前窗口的函数// 定义一个关闭当前窗口的函数 function close() { // 本示例创建一个带有一个按钮的窗口,点击按钮关闭当前窗口 // 初始化一个新的活动(窗口) var ac = new activity(); // 加载布局代码,使用 LinearLayout 替换 vertical ac.loadXML(` <LinearLayout> <Button id="button1" text="第一个按钮"/> </LinearLayout>
群发软件多点屏幕颜色检测:10秒内变化监控
群发软件智能链接:在安卓上无缝切换快手与抖音
1.这是一段快手的意图跳转例子// 导入包 importClass(Packages.android.content.Intent); importClass(Packages.android.net.Uri); importClass(Packages.android.content.ActivityNotFoundException); importClass(Packages.android.widget.Toast); importClass(Packages.android.os.Handler); importClass(Packages.android.os.Looper); // 设置快手用户页面的URL var userId = "2037335125"; var url = "kwai://prof
群发软件在AIWROK软件中使用OkHttp设置HTTP请求头中的Cookie并输出
群发软件监听广播事件:onBroadcastEvent 方法详解
本帖最后由 群发软件 于 2025-1-16 09:43 编辑 event事件侦听使用 onBroadcastEvent 方法的示例:// 监听广播事件 event.onBroadcastEvent(function(msg) { // 在接收到消息时打印出来 print(msg); }); 说明:onBroadcastEvent 是一个用于监听广播事件的方法。它接收一个函数作为参数,该函数会在事件触发时执行。在这个例子中,当收到消息时,打印该消息。这个示例演示了如何实现一个简单的事件监听
群发软件自动下载与安装:多线程管理指定文件夹APK和图片文件的下载完整性检查
自动下载与安装:多线程管理指定文件夹APK和图片文件的下载完整性检查
群发软件用AiWork如何写出一个一个播放器呢?
用AiWork如何写出一个一个播放器呢? 用软件可以写出一个简易的播放器,专门听歌甚至占用内存极少,极度容易的播放器例子。 传到手机只需要播放就可以了。这个如果您希望从一个MP3列表中逐个播放文件, 您可以先创建一个包含所有MP3文件路径的数组, 然后使用循环或递归的方式来遍历并播放这些文件。这里是一个示例代码,展示了如何实现这一功能: 这段代码首先定义了一个mp3List数组, 包含了您想要播放的M
群发软件蓝奏云-文件下载(2.8.9版本)
群发软件自动留言工具下载
自动留言工具下载,这个软件可以自动评论这四个网站,也是新加新收集回来的,不过这些网站虽然可以匿名评论留言,放网址,放宣传的关键字,但却有一个验证码,这个验证码吧,你整起来是可以识别的,但没有必要,还不如自己对接火眼这些打码网站来的实在,现在人工智能也可以识别验证码了,而且准确率比普通的打码网站更高,甚至可以给出更好的图片修复技术,也算是一个人工智能的一个彻底应用层级吧,有可能 GPT5 后面连视频验证码
群发软件自动网址转换自动提交蜘蛛池软件
自动网址转换自动提交蜘蛛池软件,增加二个标题作为宣传目标的网站,它们可以自动的增加标题作为关键字和宣传联系方式,然后通过微信读书和微软的这个软件搜获功能,将网址转换成宣传链接的地方的,目前这两个网址是有效的,收录快,后面也做了一个蜘蛛池的扔投喂,也就是发着发着,他会自动的去发一个所有网址,然后清空所有网址,每次只有两个作为提交的作用,能达到发外链,投哺蜘蛛池的效果的,也就是这二个现在有效果的,提交
群发软件自动评论网站全自动发帖软件
自动评论网站全自动发帖软件,这个软件增加七个可以自动评论的网站,效果还蛮好的,他们都是相似后台的,有几个还是极高权重的留言网站,打开网址,可能不是直接的发帖顶帖的输入框,但是只要加一个点击发言就可以进去评论了,网站自由度比较高,可以发自己的标题和内容,也可以发一些外链上去,收录都极高,都不用发帖都可以有很高的权重网站,都是这些实际的网址才行,有的同一个网站,收录不一定好,但有的帖子浏览量高,发帖权
群发软件2025新版本自动评论自动提交蜘蛛池软件
自动评论自动提交蜘蛛池软件,今天因为网站过时,更新三个更加时效的网站,他们都可以自动的在收录比较好的帖子增加收录,你可以在这里刷广告,也可以在这些地方刷外链,都可能被秒收录的节奏,这些评论,往往都是他们自己刷了几千万条的外链,刷了几千万条的广告信息留下的繁殖链接区域名,网站收录好才是真的亮眼的地方,打卡一下就可以收录,不记录权重,只看最终的百度收录效果吧,这些网站是实时放一些收录的热门帖子评论效果
群发软件精英乓乒网全自动发布帖子软件下载
精英乓乒网自动发帖软件,这个网站客以久了,居然还可以发帖,吸引来了一群人盯在它的网站进行发帖子,不过现在不论是买号发还是什么号,都给安排上了二个验证码,登陆一个会动的验证,好在登陆成功一次后,后面不用,不过他的发帖一个是回答问题的验证码,一个是会动的验证码,会动的验证码识别率不是很高的,毕境他有时候会截图和会动的那一秒时候进行了切换图片,这样就可能导致截图不成功,这么久了,所有平台对这些会动的验证
群发软件百度贴吧全自动群发软件下载
百度贴吧软件,这个网站发帖是比较难的,但效率可以说全网最高的,所以总是有一种日不落的帝国感觉,三到二头,都会有人拉出来软件跑一跑,这个网站也是蛮折腾的,有时候严格,有时候松驰,导致有的人专靠这个吃饭的,总是有一种吃不到葡萄说葡萄酸的感觉,这个脚本用 POST 把图片上传上去,然后按照自己需要,弄成了图片成文字组合,很明显的软文结构,能上去一遍不被收录也无所谓,一样人气满满的在上面生根发了芽,有委大的人气
群发软件策梅特博客自动发帖工具下载
策梅特博客群发软件,这类博客网站可以用最简单的代码实现自己的博客需求,以前是先流行的,现在只能被当作新手的训练场了,这种博客需要自己购买登陆账号才可以发的,只有一个登陆,一个发帖界面,首页是实时更新的,发什么就实时更新什么,这类网站都有新手保护期,即你前期发什么都容易收录,后面就没有可以发展的条件了,网站发帖快,没有什么阻碍的地方,收录也是实时提交的,他们都开通了后台对接的,所以发帖收录不用另外提
群发软件apipost博客群发软件
apipost博客群发软件,这个网站是 POST 发博客的地方,注册账号要邮箱验证码,注册后想发博客还要手机验证码的,绑定一次后就可以发帖,发帖的时候有一个按住验证码,刚好软件也有这个功能,按住五秒就可以实现过这个验证码的样子,没有啥难度,就是账号可能比较麻烦一些了,软件可以自动登陆账号,然后打开发博文的网页,再按住验证码识别成功后,输入标题内容,群发博客的任务就这样完成了,这个软件可以自动切换账号去发帖,发
群发软件aliexpress产品网站发布宣传软件
aliexpress产品发布软件,这个是外贸产品供应信息发布网站,对于国外的 B2B 网站可能还在发展阶段的,所以网站对于这些还是比较吃香的,aliexpress.com 这个网站是一种分类比较强大的网站了,他们国外的,还是比较注重细节分类的,所以会有很多地方需要调试,不过网站也提供了一 键复制属性的功能,和以前机械网站一样,因为他们分类那种细节都到了螺丝纹度的,如果用属性复制功能,会比较简单,只要改一改标题,图片,和视频就可
群发软件51搜了网发布宣传软件全自动发布帖子软件下载
搜了网资讯产品自动发布软件下载, 这个软件可以自动发产品,产品这里是发家电维修类别的,比较复杂一些有几十个选项要填的,第一次做这个网站,你会感觉到头皮发麻,不知所措,很多下拉什么的都要逐个调试,图片这里还要上传六张图片,不然会出错,发不出去的,第二个选择发帖项是资讯的,以前有验证码,现在全部可以不用验证码自动发帖子,轻轻松松就可以发完导入的所有内容帖子,再也不用填那个计算的验证码了吧,网站收录还是
群发软件抖音图文和视频发布工具下载地址
抖音图文发布和抖音视频自动上传软件,这个软件可以自动上传抖音图片并且附上文字和获取图片的各种各样名称作为标题进行发布,有的人账号似乎拖动不了网页,只好出这个座标点击的版本,这样就不会有啥问题了,他是可以准确定位到上传按钮,并且准确的输入内容作为标签,这样就可以发上去的内容标题带上标签关键字,带上账号切换功能,妥妥的是一个宣传视器,用这个软件发布的视频和图文,基本不会被封号,只要你发的不是太快,发的
群发软件发布宣传软件自动评论留言软件
增加四个评论网站发信息,这里三个网站是一样的,另一个网站比较特别,是一个下载站的评论,还是极少有网站有这么自由的,不过正因为他们秒发秒收录的极致才会被看中选择,一个是鞋袜网站,一个叫懒人计算器网站,一个叫生活养生 70 条,还有一个叫微导航网站,这个网站没有验证码的,全部自由发挥,只要秒发秒显示的,不用审核,另外三个网站也是有三条链接收录比较好,其它自创的收录是不行的,他这些留言网站,只针对收录好的某
群发软件易次元图片发布头条软件
易次元图片发布头条软件,这个网站可以说是动漫不变的话题,他们总是会创作出各种各样的人气话题,所以这个网站收录一直是一个重点关注对象,只是这个网站也是确实管的极度严格的,不管你是在里面创建小组,还是去增加图片相册,或是直接发帖,都有可能被百度收录,这个网站一个号只能发五帖,就自动切换账号了,不过要是出验证码就没有好的法子了,他这个验证码,拖对了也会经常判断你是错的,所以滑动方法是没有问题的,只是人也
群发软件OOKT百科网站发布宣传软件
OOKT百科网站自动发布软件,这种头条新类网站就是以前的 ZBLOG 的模块,这类网站搭建容易,也比较安全,没有什么大的漏洞,主要是简单稳定,只要服务器还可以,几乎不会出什么差错,这个网站也是养熟了,然后出来放号出售的,这类网站做好了后,收录几乎都不会差到哪去,都比较好的百度收录效果,买好账号添加到软件的账号密码列表,导入标题内容自动发帖,这个网站的分类会比较麻烦一些,主要是他这个嵌套的操作代在码有一点编差
群发软件星空社区全自动B2B发帖软件
星空社区全自动B2B发帖软件,这个网站是 B2B 后台的样子,做了二套网站,一个是针对普通网页版本进行发帖的,一套是 POST 后台发帖的形式,这样就可以自动的拥有二种模式,一个是发的快,一种是收录好,有的时候你就像是在这些地方做有用功似的,你把能量传递过去就会得到两种效果,看你怎么选择,有蜘蛛池的时候,当然是用自己的 POST 版本了,要是没有就用普通的版本浪费点电能,一定要传二张以上的图片,图片不要超过 3M 比较好
群发软件鸡病专业网论坛全自动发帖软件
鸡病专业网论坛全自动发帖软件,这是一个发外链的论坛哈,你要把链接放到软件列表的内容 2 和内容 3 已经加上了白底了,正常内容可以放在内容 1 这样就可以做到悄悄进村,打枪的不要了,这个软件是先采集整个版块的网址,放到列表中去,每一次都会有一个大循环,重复操作,为什么要这样弄呢,因为这个脚本只是顶帖用的,没有什么大的效果操作,顶的太快被发现了可能就是一顿乱封号处理了,论坛有点被全部扒下来顶的感觉,发链接不
群发软件gongkong网早自动论坛顶帖软件
gongkong网早自动论坛顶帖软件,现在发帖太多限制了,很多人把目光转到这些大论坛,进行了偷偷发外链,怎么个方法,其实要是你查到了这些人的外链就很明白是怎么弄的,就是把自己的网址,弄成白底颜色这样操作,这样管理员是看不到你发了网址一堆的在下面的,加上现在人都很少有查询的,只要不是很过份,基本都可以发很久,就像现在这个论坛一样,看了很多人都在偷偷的发一些蜘蛛链接在里面,这样就可以造成迷糊的操作了,这个软件
群发软件盐城商务网全自动发布帖子软件
盐城商务网全自动群发软件,这个网站是 B2B 网站来的,买号才可以每天发几百条,要是加上现在的蜘蛛池技术,收录还是很可观的,要是没有蜘蛛池就会收录的极少了,这个软件包有二个功能,一个是 POST 的后台发送,能全自动看不到过程,只有过程日志呈现,另一个是普通的版本,能看到运行过程,第一个脚本是占用资源是比较少的,另一个显示过程的肯定就加载的东西自然就多,网站有五个分类可以发,全部都导入到软件里去了,你只要操
群发软件自动网站评论软件下载地址
后台评论更新五个网站打包,这几个网站只有一个后台是不同的,其余的都是帝国的 CMS 系统,后台和验证码都一样的,网站的验证码都几乎一样,可以用图鉴这个网站打码比较便宜一些,都不需要注册账号,匿名就可以评论,他显示的是 IP 进行的,验证码也可能会打错,不管这个只好按出错率判断了,五个网站,第一个要不肜填写标题,其余几个都要填写标题,标题带联系方式就行了,后面的这四个网站可以填写内容,他们主要不是收录当页,
群发软件扬中头条自动发布软件
扬中头条自动发布软件,这个网站做提极度粗糙的,连网站原来的 LOGO 都没有换掉,可是你更气的是,他收录居然出奇的好,你这能找谁说理去,不过网站他主站是比较多有价值的东东的,可发帖自然也有一个原始的验证码了,导入账号可以换号的,软件都已经做进去了,好在激活不用这么麻烦,注册一会就可以发帖,本来做了全自动发帖的过程,但注册还是有失败率,因为这个验证码也不是百分百过,要是自己写逻辑自己用的还是可以的,不过要
群发软件阴山论坛网站群发软件
阴山论坛网站群发软件,这个网站是论坛来的,改了很多地方,基本你找不到哪里发帖,哪里回帖子,网站图片也乱七八糟的,不过也没有关系了,反正能收录很多就行了,网站注册账号是免费的,注册一个账号要二分钟后才可以发帖,只要注册的号导入进去软件的 ID 列表,就可以全自动切换账号发帖,完全不用理,导入标题内容会自动切换的,没有什么需要手工操作的,不过发帖有一个验证码,需要自己充好火眼这些接口,也是会自动打验证码的
信息发布软件自动提交宣传内容自动提交蜘池软件
自动提交宣传内容自动提交蜘池软件,这个脚本是集合了四个搜索留下关键字和联系方式的方法,然后会把搜索的链接保留下来到列表中去,所有网站跑完了后,就会自己跑去蜘蛛池里留下刚才搜索的痕迹,全部链接会丢进去让他爬行一次,输入标题和网址,再次提交完链接进行循环操作,这样的好处就是成本极低的效果了,都可以自动提交链接进行步前进,每次的链接都会自动清空,搜索那边,最好导入多点标题,标题加联系方式,就是关键字和联
信息发布软件咔嚓娱乐网全自动发布软件
咔嚓娱乐网全自动发布软件,这个网站可能是很久以前的后台了,现在具然还有人拿出来用用的,也是很这神奇的事,网站这家伙,不管什么白猫黑猫能有收录好的帖子就是好家伙,不管网站丑还是美的,一切都不重要,重要的是看他有没有货在肚子里,有时候你也不知道怎么收录就狂上去了,还好有点规律可以寻到,就是发帖多了,自然会有这样那样的超级收录在里面上去的,网站只要有号就可以发,导入标题内容,有的人还会在内容加点图片,不
信息发布软件大发游戏网自动发布帖子软件
大发游戏网自动发布帖子软件,这个网站是一种游戏 APP 下载,然后是在后台发文章投稿的方式进行发帖的,这类网站肯定要买号才可以发的,不然你连他的后台在哪里都会不知道,下载的网站都自动流量,会弄的人很容易就能把网站收录拉起来的,只是很多东不知道这些技巧罢了,网站发起帖子还是比较简单的,就是输入标题内容,再传一个缩略图片就可以发成功,简单莫过于此些操作了,网站需要自己准备好账号,导入标题内容就可以无限的发
信息发布软件扎屯网全自动发布帖子软件
扎屯网全自动发布帖子软件,这个网站是 B2B 网站,全自动发布的时候会快一些,不过号都是要和他买后才可以发帖的,做二个版本,一个是 POST 版,一个是普通网页版,名子可能会比较偏,但收录只蛤帮搜狗的样子,百度收录比较少,他们这些网站打的就是批量,有收录就留下,没有收录可能被隔一定的时间被 K 掉,会网站打不开,也可能是网站对他们不再报希望了,所以网站也不会留下的。网站没有啥可以的亮点,都是导入账号密码,导入标
信息发布软件中国路面机械网全自动发产品信息软件
中国路面机械网全自动发产品信息软件,这个网站注册一个账号,完善公司信息就可以发帖,不过网页端是登陆不上去账号的,点提交都不可以登陆上去的,在浏览器也无反应,不过好在找到了 手机端登陆网址,这样就可以登陆成功账号,然后返回到电脑的页面上去的,发产品这里还是比较麻烦的,要选择分类,要选择城市等信息,产品页面里还要填一个图片地址,算是比较麻烦的地方了,网页内容输入这里有检验的,一般内容说不给发的,标题也
信息发布软件嘉泰姆网自动评论软件
嘉泰姆网自动评论软件,这个脚本集合了五个网站,他并不是每一个网站都有效果的,而是某几篇文章,收录好的就越来越好,收录差的你评论进去也不会有收录,他们自动收录的网站看中的也这点,开出某几朵花很难,但种草却很容易,想收录好只能跟着这些收录过的帖子进行后续补上,如果你想主帖收录,那就只能等他们展开蜘蛛的爬行量了,这个网站输入账号密码就可以发帖,他也是一种自动注册的状态,评论的时候需要输入验证码,随便用打
信息发布软件中国象棋网全自动群发软件
中国象棋网全自动群发软件,现在对于这些网站评论收录极好,几乎占了现在收录的大头,他们收录是主网页帖子的某个评论窗体,收录的是当前某页面,然后定位里面的关键字,定位里面的收录内容和联系方式进行的,这些评论网站有一个共同点,就不需要账号,只要输入一个验证码,就可以拼了老命去评论网站内容的,这里第一个网站是手机网页来的,其它三个都是帝国新闻网站后台,每一次循环一圈过去,识别验证码方式,价格比较便宜的,只
信息发布软件JAYI定制版后台群发软件
JAYI定制版后台群发软件,这种网站是一种批量的网站,自动用 AI 写文章,自动群发起来的网站,他们可以让很多网站互相窜连起来的样子,而你要做的是增加网站的内容,他们通过几千个站群转发你发过的文章,相当于一站式服务了,他弄这样的一个后台给你看上去很复杂,实际只需要添加标题关键字和正文就可以了,外链什么的网站肯定会帮你转发的,没有效果别人也不会买这种站群服务的样子,做这些网站不用弄那么多的限制的,只要写入缓
信息发布软件小红书图文发布宣传软件
带标签版小红书图文群发,小红书一直有一个很严重的毛病,就是带标签极度麻烦,而抖音就对这个功能比较看重,你粘帖进去,加一个回车或是空格是可以出来标签的,这个标签看似很小的一件事,却是视频关联播放,视频相关播放量,视频搜播放量的关键字,小红书这么多年以来,终于看到了这个差距,有所改变,现在他们也弄成了这种功能,这样可以让软件也输入慢点,加一个空格去,也能实现标签呈现效果的结局点,现在软件这个版本可以对
信息发布软件51搜了网全自动产品和资讯群发工具
51搜了网资讯和产品全自动发布软件,这个网站是要钱买号发的,资讯以前他是死要弄一个验证码的,现在倒是改进了不少,主要是登陆框和产品发布和时候,不再要求什么多少星才可以发布了,也确实是如此,你不改变,这社会让你吃上几次亏让你改变的,为什么人家要花多点钱和你瞎扯呢,还不如找一个心意顺意的网站发一些帖子好,其实这些网站都是被百度控制进去的,完全不是我们想象的那么美好的事,收录都是有指标的,其它都是随机的呈
信息发布软件入库网POST版本B2B网站群发工具
入库网POST版本全自动群发软件,这个网站看上去 LOGO 啥都比较新鲜,其实只是一个 B2B 网站来的,你登陆后台就会看到他的全部效果了,现在做两个版本,一个是 POST 版一个是普通网页版,规则利好大家都懂的吧,网站也没有什么新奇的,前期收录肯定好一些,后面收录肯定也不会持续多久,网站主现在弄了几百个网站,挑一些好的放上去,不好的就会慢慢下架,或是改名,全部弄成了一些原来的样子了,导入标题和内容就可以全自动的发帖
信息发布软件评论网站自动软件下载地址
三个评论网站集合,这里两个网站都是帝国评论的系统,可能是故意为之的评论权限,像这种这么超大的评论网站后台能收录,也实属很罕见的了,他们评论可是有很大收录量的地方,你搜这些里面的手机号码或是 QQ 号,都会被单独的收录起来,看域名你就会觉得不那么奇怪了吧,这些都是暂时可以立即见效的网站,这类网站也是需要自己找到这些评论帖子可以执行的网站,网站打开是有验证码的,很简单的打码,还是对接打火眼比较好一些,毕竟
信息发布软件明珠网POST发帖工具下载
明珠网全自动发布帖子软件,这个网站做两个发帖过程,一个是 POST 的,一个是普通版本,现在 POST 版本是电脑差的标准配置,不过效率还是非常高的,要是自己能弄几个这样的网站,加上收录好的,是一笔不错的收录量,只可惜很多笨人根本看不透这些事,还拼了命的去找网站发,自己养几个网站效果是很多找网站的几十倍,不过很多人也不珍惜这样的机遇,因为网站前期都有很高的收录量保护期的,一旦不把握好这样的新手村效果,就变的无
信息发布软件天龙新闻网全自动发帖软件
天龙新闻网全自动发帖软件,这个是 B2B 网站,有的人找不到网站的自然能看上这类网站自动发帖的,因为都简单,导入标题内容,充好账号的积分,就可以全自自动的发帖,不用太多的干扰就行了,网站只有资讯和文章二个分类可以发,账号充的会员过期会发帖不了,虽然只能发两个分类,不过都已经把分类给做到脚本里的,他们对应分类会进去选择分类,或是上传图片了,输入标题内容都是通用的,添加产品这些网站不让发,打开也是没有用的
信息发布软件脉脉账号挂机软件下载
脉脉自动挂机注册账号软件下载,这个脚本是注册脉脉账号的,用了豪猪的接口打码,还有椰子接口打码,二个差不多,哪一个有账号就拿哪一个用,要注意的是猪这个接口账号一另一个网站不一样,他是加密后的账号密码,一般人记不住,只能用普通账号进去网站后,点 API 账号进行获取,得到手机号码后,才可以进行注册用,注册账号后,会采集账号的缓存,这样就可以后面发帖使用啥的,比较简单,也是相当麻烦的脚本,看上去是普通的与注
信息发布软件乐搜网全自动发帖工具
乐搜网全自动群发软件是一款非常好用的工具,它能够帮助用户轻松实现信息的群发和帖子的发布,提高工作效率和传播效果。用户对该软件的评价也非常高,认为它是一款值得信赖和使用的工具。 乐搜网全自动发帖工具下载: 乐搜网全自动群发软件作为一款功能强大且用户友好的工具,不仅极大地简化了信息传播的过程,还通过其多样化的功能满足了不同用户的特定需求。该软件支持多种类型的信息群发,包括但不限于文本、图片以
信息发布软件揭阳优聘自动群发工具下载
揭阳优聘自动群发工具下载,这个网上右上角有联系电话号码,你要发帖就只能找他免费给你发送,发帖有验证码,会员应该都不需要会员就可以发帖,比较简单,做起来步骤是比较多的,但效果还是很好的,采集地多发送,只能发到他这个网站所在地,固定的,虽然标记是地区的,但其实全世界也可以访问进去的,百度收录的也有 N 多,全部是有效信息,网站对这些发帖删的极少的存在,网站没有什么大的限制,只是发帖容易一些收录,他网站主
信息发布软件GPT4文章生成器软件
一直有人问我用文章怎么自动生成器操作,这个软件脚本就可以自动群发文章生成器作用,他是对接 GPT4.0 生成的,而且是最新的接口,他这个网站接口还是基本稳定的,不管怎么整,他都还在,也经过历史的检验了,这个脚本已经是去年做的,拿起来直接现在还可以用,说明还算稳定了,现在增加一个接口选择,他接口是一个字母代码的,也加上了清空会话,不然网站会发现在弄了太多会话,会有可能把你的号给封了,是一个变态的操作,如果一
信息发布软件816商务网全自动发帖软件
816商务网全自动发帖软件,这个网站也做了两个版本,一个是低配版,POST 提交,可以自动传图,自动切换标题和内容,导入账号就可以用,另一个是能看到界面的,也是导入多标题多内容组合发出去,一个是占用资源只有几 M,一个要渲染网页 CSS 和 JS 自然要用的资源多一些,现在也是很大的证明,如果网站没有对接百度蜘蛛池的,可能收录不如普通的版本,因为他不会执行百度的那几个 JS 文件,普通版当然就是模拟发帖的,自然会执行所
信息发布软件第一枪网站发布帖子B2B网站群发工具
第一枪网站发布帖子B2B网站群发工具,这个网站和普通的 B2B 网站没有什么大的区别,注册需要上传营业执照和手机短信验证码的,比较正规的那种,这个脚本可以发展会管理,可以发资讯管理,还可以布产品信息,软件登陆有一个拖动的验证码,会比较麻烦,所以这个软件是采用了缓存登陆的方式进行,发布帖子前一定要先采集一次缓存,这样就省去了每天跑去手工登陆账号的麻烦事。导入标题好内容,这样就可以省去一些麻烦事,软件能自动组
信息发布软件搜巴巴全自动群发软件
搜巴巴全自动群发软件,这个是同城分类信息网站,这类网站是 N 年没有更新的了,虽然漏洞比较多,但现在随着病毒终结,杀软也没有再去折腾这些事,现在毒与杀是存在这种微妙的关系之中,这个网站发的是商务同类信息,其实和 B2B 网站也没有多大的区别,网站给钱就可以发帖,自己可以充值套餐,反正这些网站是收录好,就发出去让别人充值一把作为建网站的收获期吧,这类网站有的收录好,有的是收录差的,不过新网站短期爆发收录好,
信息发布软件本地生活网全自动群发软件
本地生活网全自动群发软件,这个网站是本地生活的网站,他主要是发家电维修类的内容比较多一些,还有一些是商务服务类的信息,这类网站现在收录好的,也就那么几个,后来者往往很难居上了,他们都大多数是收费模式,给多少钱发多少帖一天。网站登陆是普通汉字验证码,发帖有分类,电话号码和发帖标题已经调用在标题上面了,发多少帖子这个按钮调用也是有用的,简介和地址分别有列表调用,你只需要导入进去就可以了,这个上传图片也
群发软件首码项目网发布宣传软件
首码项目网全自动发帖软件,这个网站是一种后台头条模式的,他有点像 ZBLOG 形式,很多人是没有啥动力放弃一些收录不好的网站,而总是舍又不舍得,放弃又还是在发帖,变成了一个一个背包,越积越多,效果越差,这里建议的是,三个月收录不好的网站就扔了,你可以很多模板,有时候你做对了很多事情,但因为百度蜘蛛就是和你斗气,看不上你的域名,看不上你的服务器,就会不收录,是完全不收录的那种状态。那就果断换域名,换服务器

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2025-2-23 23:47 , Processed in 0.150165 second(s), 51 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表