zoukankan      html  css  js  c++  java
  • 将String类型的二维数组中的元素用FileOutputStream的write方法生成一个文件

     

     
    将String类型的二维数组中的元素用FileOutputStream的write方法生成一个文件
    import java.io.File;
    import java.io.FileOutputStream;
    public class Test  
    {
    protected static String tmpString[][]={{
    "头目:蛇怪",
    "建议级别:12级",
    "推荐武器:苏格兰斩剑",
    "建议直接使用初始给予",
    "的武器,初始武器有比",
    "较理想的附魔。",
    "",
    "技巧:不断地按跳跃可",
    "以停留在空中躲避蛇怪",
    "的攻击,趁她攻击的间",
    "歇。落下去砍她头上的",
    "召唤符,是不错的方法",
    "",
    "难点一:触手攻击",
    "头目的触手很长,停留",
    "在地面很难回避,所以",
    "最 办法是跳到空中",
    "这样不但可以躲避攻击",
    "也能攻击蛇怪的弱点",
    "",
    "难点二:召唤鱼",
    "头目会召唤很多的食人",
    "鱼,这些鱼虽然伤害不",
    "高,但是会妨碍你跳跃",
    "所以有机会一定要先消",
    "灭那些碍事的食人鱼。",
    "",
    "头目:血池蛇怪",
    "建议级别:50级",
    "推荐使用雷神战斧或其",
    "他名称为蓝色的武器。",
    "建议带附有雷电盾的武",
    "器魔法再搭配攻击或魔",
    "击附魔!"
    },
    {"头目:守门人",
    "建议级别:25级",
    "推荐武器:风暴巨剑",
    "建议攻击附魔或是魔击",
    "附魔,配合风暴巨剑的",
    "魔法技能可以对头目造",
    "成很可观的伤害",
    "",
    "技巧:头目会召唤浮游",
    "雷。当头目在浮游雷附",
    "近时攻击浮游雷,浮游",
    "雷爆炸也会对头目造成",
    "伤害。浮游雷很多的话",
    "伤害也不低。",
    "",
    "难点一:瞬间消失",
    "头目瞬间消失后会出现",
    "在你正上方或是左右。",
    "但他发起攻击之前会有",
    "准备动作,趁那时候赶",
    "紧躲避吧!",
    "",
    "难点二:大范围激光",
    "头目会发射多道激光,",
    "覆盖范围很广。一定要",
    "趁他发出激光前跳到他",
    "身后,实在不行就跳跃",
    "或蹲下吧。",
    "",
    "头目:魔界死神",
    "建议级别:57级",
    "推荐使用冰雪女王或名",
    "称为蓝色的武器。",
    "建议附有高级以上的攻",
    "击或魔击附魔。"
    },
    {
    "头目:魔术师",
    "建议级别:31级",
    "建议武器:极光军刀",
    "建议攻击附魔再配有吸",
    "血附魔,可以保证自己",
    "生命的同时,有效地攻",
    "击头目!",
    "",
    "技巧:头目发出的一种",
    "体积较大的牌是可以砍",
    "回去的,当他发出这种",
    "牌的时候看准机会砍回",
    "去,可以对头目造成伤",
    "害!",
    "",
    "难点一:上下调转",
    "头目会掉转上下,把你",
    "变到屋顶上。头目拿出",
    "体积最大的牌就预示他",
    "要调转方向。这个无法",
    "躲避,但要有心理准备",
    "然后迅速适应。",
    "",
    "难点二:散弹型飞牌",
    "头目最多会飞出五张牌",
    "五张牌形成的弧形很大",
    "可以跳到不同的方向或",
    "是站在两张牌之间躲避",
    "",
    "头目:地狱使者",
    "建议级别:90级",
    "推荐使用冰雪女王或其",
    "他名称为紫色的武器。",
    "建议附究级攻击性的武",
    "器魔法再配有究级吸血",
    "附魔!可以保证自己生",
    "命的同时,有效地攻击",
    "头目!"
    },{
    "头目:伯爵",
    "建议级别:37级",
    "建议武器:雷神战斧",
    "建议攻击附魔再配有吸",
    "血附魔,可以保证自己",
    "生命的同时,有效地攻",
    "击头目!",
    "",
    "技巧:头目移动时会变",
    "成蝙蝠,伯爵变身之后",
    "是他防御最弱的时候,",
    "趁他变回来之前,一定",
    "要尽可能多的攻击他。",
    "",
    "难点一:大范围放蝙蝠",
    "头目放出的蝙蝠不仅面",
    "积广,还会造成多次伤",
    "害。所以看到他将要放",
    "出蝙蝠,尽可能跳到他",
    "身后,不行的话就依靠",
    "跳跃来躲避吧。",
    "",
    "难点二:召唤飞剑",
    "头目会召唤很多飞剑,",
    "飞剑会妨碍跳跃,也可",
    "能打断你的连击,而且",
    "飞剑造成的伤害也不低",
    "所以一旦头目召唤出飞",
    "剑一定要尽快消灭。",
    "",
    "头目:魔鬼伯爵",
    "建议级别:65级",
    "推荐使用冰雪女王或者",
    "浑沌审判者。",
    "建议附究级攻击性的武",
    "器魔法再配有究级吸血",
    "附魔!可以保证自己生",
    "命的同时,有效地攻击",
    "头目!"
    }};
      public void show()
      {
      for(int i=0;i<tmpString.length;i++)
      {
      for(int j=0;j<tmpString[i].length;j++)
      {
      System.out.println("tmpString["+i+"]["+j+"]"+tmpString[i][j]);
      }
      }
      }
    public void output()throws Exception
    {
    FileOutputStream fos=new FileOutputStream(new File("e:/test.mid"));  
      
    byte[] bs = "测试java 文件操作".getBytes();   
    //bs原本应该是tmpString[][]数组中的内容
    fos.write(bs);
    }
    public static void main(String args[])
    {
    Test t=new Test();
    t.show();
    try
    {t.output();
    }
    catch(Exception e)
    {
    }
    }
    }
    ------回答---------
    ------其他回答(20分)---------
    Java code
    // 写入 ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeInt(tmpString.length);// 数组长度 for (int i = 0; i < tmpString.length; i++) {// 遍历数组 dos.writeInt(tmpString[i].length);// 子数组的长度 for (int j = 0; j < tmpString[i].length; j++) {// 遍历子数组 dos.writeUTF(tmpString[i][j]);//写入字符串 } } byte[] b = baos.toByteArray(); FileOutputStream fos = new FileOutputStream(new File("e:/test.mid")); fos.write(b); fos.close(); // 读取 DataInputStream dis = new DataInputStream(new FileInputStream("e:/test.mid")); tmpString = new String[dis.readInt()][];//读取第一维长度 for (int i = 0; i < tmpString.length; i++) {//遍历数组 tmpString[i] = new String[dis.readInt()];//读取子数组长度 for (int j = 0; j < tmpString[i].length; j++)//遍历子数组 tmpString[i][j] = dis.readUTF();//读取字符串 } dis.close();

    ------回答---------

    ------其他回答(20分)---------

    Java code
    // 写入 ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); dos.writeInt(tmpString.length);// 数组长度 for (int i = 0; i < tmpString.length; i++) {// 遍历数组 dos.writeInt(tmpString[i].length);// 子数组的长度 for (int j = 0; j < tmpString[i].length; j++) {// 遍历子数组 dos.writeUTF(tmpString[i][j]);//写入字符串 } } byte[] b = baos.toByteArray(); FileOutputStream fos = new FileOutputStream(new File("e:/test.mid")); fos.write(b); fos.close(); // 读取 DataInputStream dis = new DataInputStream(new FileInputStream("e:/test.mid")); tmpString = new String[dis.readInt()][];//读取第一维长度 for (int i = 0; i < tmpString.length; i++) {//遍历数组 tmpString[i] = new String[dis.readInt()];//读取子数组长度 for (int j = 0; j < tmpString[i].length; j++)//遍历子数组 tmpString[i][j] = dis.readUTF();//读取字符串 } dis.close();
  • 相关阅读:
    [Java] 计算两个日期之间的差(年 月 日)
    Javassist library is missing in classpath! Please add missed dependenc
    $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 区别
    内存管理一
    内存管理四
    内存管理二
    内存分配函数分类
    内存映像文件
    内存管理三
    到底有多少内存
  • 原文地址:https://www.cnblogs.com/timssd/p/5523280.html
Copyright © 2011-2022 走看看